I want to add another map(高德地图 into the map control.
Through the internet, I get codes (C++) as the below, I want to convert the code to C# but I do not know the “BaseProvider.h”, who can tell me how to convert and where is the C# code (BaseProvider.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;
}
};
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);
}
};
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);
}
};
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);
}
};