00001
00048 #ifndef INC_SPATMOD_IMAGESOURCEBINGMAPS_H
00049 #define INC_SPATMOD_IMAGESOURCEBINGMAPS_H
00050
00051 #ifndef INC_SPATMOD_IMAGESOURCETILESET_H
00052 #include <spatmod/imagesourcetileset.h>
00053 #endif
00054
00055 #ifndef INC_SPATMOD_IMAGESAMPLEITERATOR_H
00056 #include <spatmod/imagesampleiterator.h>
00057 #endif
00058
00059 #ifndef INC_SPATMOD_IMAGESTAGEAUTOPTR_H
00060 #include <spatmod/imagestageautoptr.h>
00061 #endif
00062
00063 #ifndef INC_GRE_LAYERDC_H
00064 #include <gre/layerdc.h>
00065 #endif
00066
00067 namespace SPATMOD {
00068 namespace IMAGE {
00069
00070
00071
00072 class SOURCE_BINGMAPS : public SOURCE_TILESET {
00073 public:
00074
00075 enum MAPSTYLE {
00076 MAPSTYLE_Aerial = 0,
00077 MAPSTYLE_Aerial_v0 = 1,
00078 MAPSTYLE_Aerial_v1 = 2,
00079 MAPSTYLE_AerialWithLabels = 3,
00080 MAPSTYLE_AerialWithLabels_v0 = 4,
00081 MAPSTYLE_AerialWithLabels_v1 = 5,
00082 MAPSTYLE_Birdseye = 6,
00083 MAPSTYLE_Birdseye_v0 = 7,
00084 MAPSTYLE_Birdseye_v1 = 8,
00085 MAPSTYLE_BirdseyeWithLabels = 9,
00086 MAPSTYLE_BirdseyeWithLabels_v0 = 10,
00087 MAPSTYLE_BirdseyeWithLabels_v1 = 11,
00088 MAPSTYLE_Road = 12,
00089 MAPSTYLE_Road_v0 = 13,
00090 MAPSTYLE_Road_v1 = 14
00091 };
00092
00094 SOURCE_BINGMAPS (MAPSTYLE MapStyle);
00095
00096
00097 virtual ~SOURCE_BINGMAPS ();
00098
00099 ERRVALUE DrawOverlay (const GRE::LAYERDC& layerdc);
00100
00102 const MISTRING& GetCopyrightString () const
00103 { return (m_CopyrightString); }
00104
00105 void SetMapStyle (MAPSTYLE MapStyle);
00106
00107 void SetResampleMethod (const SPATMOD::IMAGE::RESAMPLEMETHOD& ResampleMethod) {m_ResampleMethod = ResampleMethod;}
00108
00109 protected:
00110 virtual ERRVALUE v_GetDatatip (const DPOINT2D& point, MISTRING& string, INT32 ZoomLevelToUse, SOURCE_TILESET::DATATIPFLAG flags);
00111
00112 private:
00113 #ifndef GENERATING_DOXYGEN_OUTPUT
00114 MAPSTYLE m_MapStyle;
00115 MISTRING m_CopyrightString;
00116 MISTRING m_LogoURL;
00117 SPATMOD::IMAGE::RESAMPLEMETHOD m_ResampleMethod;
00118
00119 void GetMapStyleString (MISTRING& MapStyleStr);
00120 void GetXMLString (MISTRING& xmlstr);
00121 void GetXMLString (MISTRING& xmlstr, INT32 ZoomLevelToUse, const LPOINT2D& TileIdx);
00122 ERRVALUE SetupURLs();
00123
00124
00125 virtual void v_GetCacheName (MISTRING& CacheName);
00126 virtual ERRVALUE v_GetDatatipObjectNames (const DPOINT2D& point, MISTRING& string, INT32 ZoomLevelToUse, int indent);
00127 virtual ERRVALUE v_ProcessBottomTile (SPATMOD::IMAGE::STAGE*& source, INT32 ZoomLevelToUse, const LPOINT2D& TileIdx);
00128
00129
00130 virtual ERRVALUE v_Initialize ();
00131
00132
00133 SOURCE_BINGMAPS (const SOURCE_BINGMAPS&);
00134 SOURCE_BINGMAPS& operator= (const SOURCE_BINGMAPS&);
00135 #endif // GENERATING_DOXYGEN_OUTPUT
00136
00137 };
00138
00139
00140
00141 }
00142 }
00143
00144 #endif // INC_SPATMOD_IMAGESOURCEGOOGLEMAPS_H
00145
00146
00147