//--------------------------------------------------------------------------- #ifndef FRAME_GoogleMapFH #define FRAME_GoogleMapFH //--------------------------------------------------------------------------- #include #include #include #include //--------------------------------------------------------------------------- #include "DataTypesF.h" #include "CDSCodeF.h" #include "WindowMsgF.h" #include #include #include #include #include #include "GMClasses.hpp" #include "GMMap.hpp" #include "GMMapVCL.hpp" #include #include #include "GMLinkedComponents.hpp" #include "GMMarker.hpp" #include "GMMarkerVCL.hpp" #include "cxCheckBox.hpp" #include #include "cxButtons.hpp" #include "cxContainer.hpp" #include "cxControls.hpp" #include "cxEdit.hpp" #include "cxGraphics.hpp" #include "cxLabel.hpp" #include "cxLookAndFeelPainters.hpp" #include "cxLookAndFeels.hpp" #include "dxSkinBlack.hpp" #include "dxSkinBlue.hpp" #include "dxSkinCaramel.hpp" #include "dxSkinCoffee.hpp" #include "dxSkinDarkRoom.hpp" #include "dxSkinDarkSide.hpp" #include "dxSkinFoggy.hpp" #include "dxSkinGlassOceans.hpp" #include "dxSkiniMaginary.hpp" #include "dxSkinLilian.hpp" #include "dxSkinLiquidSky.hpp" #include "dxSkinLondonLiquidSky.hpp" #include "dxSkinMcSkin.hpp" #include "dxSkinMoneyTwins.hpp" #include "dxSkinOffice2007Black.hpp" #include "dxSkinOffice2007Blue.hpp" #include "dxSkinOffice2007Green.hpp" #include "dxSkinOffice2007Pink.hpp" #include "dxSkinOffice2007Silver.hpp" #include "dxSkinOffice2010Black.hpp" #include "dxSkinOffice2010Blue.hpp" #include "dxSkinOffice2010Silver.hpp" #include "dxSkinsCore.hpp" #include "dxSkinSeven.hpp" #include "dxSkinSharp.hpp" #include "dxSkinSilver.hpp" #include "dxSkinStardust.hpp" //--------------------------------------------------------------------------- /* * ÀÌÀü/´ÙÀ½ ±¸ÇöÀ» À§ÇÑ ±¸Á¶Ã¼ ¼±¾ð * Á¤Àû ÀÌÁ߸µÅ©·Î ±¸Çö */ #define D_EXT_QUEUE_SIZE 256 //512//1024/2048 #define D_EXT_QUEUE_MASK (D_EXT_QUEUE_SIZE-1) /* * ·¹À̾î Extent Á¤º¸ */ typedef struct { short Zoom; double Lat; double Lng; } TMapExtent; typedef struct { bool Extent; short TotCnt; short CurIdx; TMapExtent extent[D_EXT_QUEUE_SIZE+1]; } EXTENT_QUEUE; //--------------------------------------------------------------------------- class TObjGMMap : public TCustomGMMap { public: void __fastcall SettingZoom(int Zoom) { SetZoom(Zoom); }; }; //--------------------------------------------------------------------------- class TFRAMEGoogleMap : public TFrame { __published: // IDE-managed Components TPanel *PnlToolbar; TcxButton *BtnMapToJpg; TcxButton *BtnMoveMapToCenter; TcxButton *BtnZoomIn; TcxButton *BtnZoomOut; TcxButton *BtnEraseEvent; TEdit *EdFocus; TcxButton *BtnMoveDefBounds; TcxButton *BtnZoomPrev; TcxButton *BtnZoomNext; TcxButton *BtnIconSelect; TcxLabel *cxLabel26; TcxLabel *cxLabel27; TSaveDialog *SaveDialog1; TcxImageList *ilToolbarsSmall; TWebBrowser *WebBrowser1; TGMMap *GMMap1; TPanel *PnlGisTool; TcxLabel *cxLabel1; TcxCheckBox *ChkDrawCtv; TcxCheckBox *ChkDrawVds; TcxCheckBox *ChkDrawVms; TPanel *PnlLoading; TImage *ImgLoading; TcxCheckBox *ChkDrawTraffic; TcxCheckBox *ChkDrawRegion; TcxCheckBox *ChkDrawIncident; TcxLabel *cxLabel2; TcxLabel *LblZoom; TcxLabel *lblTitle; void __fastcall BtnMapToJpgClick(TObject *Sender); void __fastcall BtnMoveMapToCenterClick(TObject *Sender); void __fastcall WebBrowser1DownloadComplete(TObject *Sender); void __fastcall GMMap1AfterPageLoaded(TObject *Sender, bool First); void __fastcall GMMap1BoundsChanged(TObject *Sender, TLatLngBounds *NewBounds); void __fastcall GMMap1ZoomChanged(TObject *Sender, int NewZoom); void __fastcall GMMap1DragEnd(TObject *Sender); void __fastcall BtnZoomInClick(TObject *Sender); void __fastcall BtnZoomOutClick(TObject *Sender); void __fastcall BtnZoomPrevClick(TObject *Sender); void __fastcall BtnZoomNextClick(TObject *Sender); void __fastcall BtnMoveDefBoundsClick(TObject *Sender); void __fastcall GMMap1CenterChanged(TObject *Sender, TLatLng *LatLng, double X, double Y); private: // User declarations void __fastcall SetLinkLevel(int ALinkLevel); int FLinkLevel; EXTENT_QUEUE FExtent; // ÀÌÀü/´ÙÀ½ Á¤º¸¸¦ ÀúÀåÇÒ Àü¿ªº¯¼ö TMapExtent FPrev; // ÀÌÀü String FTitle; public: TLatLng *FCenLatLng; TMapTypeId FMapTypeId; TLatLngBounds *FMapBounds; int FMapZoom; int FBaseZoom; double FCenterLat; double FCenterLng; TNotifyEvent FOnDrawFacilityClick; TNotifyEvent FOnZoomChangeClick; double FLat, FLng; public: void __fastcall LoadLocalSkin(); void __fastcall LoadGisMap(); void __fastcall ShowHideTrafficLayer(bool AShow); void __fastcall SelectObjectByPos(double dPosX, double dPosY, bool bArrow=false); void __fastcall SelectObjectByPos(); bool __fastcall SelectLinkByPos(int X, int Y, String &ALinkId); bool __fastcall GetLevelLinkId(int ALinkLevel, String &sLinkId, int X, int Y); int __fastcall GetLayerIndex(); void __fastcall SelGisItem(int AType, String AId); void __fastcall OnCloseQuery(bool &CanClose); bool __fastcall AddExtentQ(double ALat, double ALng, int FZoom); bool __fastcall PrevExtentQ(); bool __fastcall NextExtentQ(); void __fastcall RemoveMarker(TGMMarker *AMarker); public: // User declarations __fastcall TFRAMEGoogleMap(TComponent* Owner); __property int LinkLevel = {read = FLinkLevel, write=SetLinkLevel }; }; //--------------------------------------------------------------------------- extern PACKAGE TFRAMEGoogleMap *FRAMEGoogleMap; //--------------------------------------------------------------------------- #endif