添加高德图层(AMapProvider.h):
#pragma once
#include "BaseProvider.h"
class ABaseProvider: public BaseProvider
{
public:
ABaseProvider()
{
LanguageStr = "zh_cn";
_refererUrl = "http://ditu.amap.com/";
_licenseUrl = "https://mapwingis.codeplex.com/wikipage?title=baidutiles";
int year = Utility::GetCurrentYear();
_copyright.Format(L"Copyright @ %d, 高德,All Rights Reserved", year);
this->_projection = new MercatorProjection();
this->_minZoom = 3;
this->_maxZoom = 18;
}
CString MakeTileImageUrl(CPoint &pos, int zoom)
{
CString s;
CString sec = "0";
int iServerNum = GetServerNum(pos, 4)+1;
s.Format(_urlFormat, sec, iServerNum, pos.x, pos.y, zoom, LanguageStr);
return s;//"http://webrd04.is.autonavi.com/appmaptile?x=5&y=2&z=3&lang=zh_cn&size=1&scale=1&style=7"
}
};
class AMapProvider: public ABaseProvider
{
public:
AMapProvider()
{
Id = tkTileProvider::AMaps;
Name = "AMaps";
_urlFormat = "http://webrd%s%d.is.autonavi.com/appmaptile?x=%d&y=%d&z=%d&lang=%s&size=1&scale=1&style=8";
_subProviders.push_back(this); //http://webrd01.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x=3232&y=1684&z=12
}
};
class ASatelliteProvider: public ABaseProvider
{
public:
ASatelliteProvider()
{
Id = tkTileProvider::ASatellite;
Name = "ASatellite";
_urlFormat = "http://webst%s%d.is.autonavi.com/appmaptile?x=%d&y=%d&z=%d&lang=%s&size=1&scale=1&style=6";
_subProviders.push_back(this);
//http://webst01.is.autonavi.com/appmaptile?style=6&x=3235&y=1681&z=12 底图
//http://webst02.is.autonavi.com/appmaptile?x=3235&y=1682&z=12&lang=zh_cn&size=1&scale=1&style=8 路线图
}
};
class ASatelliteHybridProvider: public ABaseProvider
{
public:
ASatelliteHybridProvider()
{
Id = tkTileProvider::ASatelliteHybrid;
Name = "ASatelliteHybrid";
_urlFormat = "http://webst%s%d.is.autonavi.com/appmaptile?x=%d&y=%d&z=%d&lang=%s&size=1&scale=1&style=8";
_subProviders.push_back(this);
//http://webst01.is.autonavi.com/appmaptile?style=6&x=3235&y=1681&z=12 底图
//http://webst02.is.autonavi.com/appmaptile?x=3235&y=1682&z=12&lang=zh_cn&size=1&scale=1&style=8 路线图
}
};