主要参考网址
http://www.cnblogs.com/luxiaoxun/p/3802559.html
http://www.cnblogs.com/luxiaoxun/p/3463250.html
http://blog.csdn.net/onepiecehuiyu/article/details/19159565
GMap官方网址
http://greatmaps.codeplex.com/
WGS84,GCJ02,BD09坐标转换
http://blog.csdn.net/ma969070578/article/details/41013547
GMap总结
http://wenku.baidu.com/link?url=0JOy2cyTf8RUokKbfDelzSs29pvPnuzRNLqcT5VM451bnfKZ-gBmCg3QOFyuFut2zep_qBfp2bqqsQnaAHNGBdG5kVZoIvt8Rhgdg3raOdy
http://wenku.baidu.com/link?url=OKVBEUV5ekfPEcSRRdUyBAG6PN4Lh330gUZogBv30L92pgJECvvDPZ4hcz7h8XAt4SBw-9sTxDddeleYHvbYtDe2Y9vKtlvY2d_Pd-n4V9C
下面介绍如何在GMap.net官方控件的基础上添加国内高德地图以及添加墨卡托mercator坐标系在中国的翻版GCJ02转换投影
因为基本所有的gps芯片获取的都是wgs84坐标系数据,但是google中国,高德地图都是用的wgs84经过gcj02转换的投影,所以gmap.net获取gps数据后再地图上显示时,需要使用gcj的投影,而官方的GMap.net控件中只是标准的mercator投影
从官网下载GMap.net控件,里面是没有高德地图的所以需要添加,并且原来官方控件中是没有MercatorProjectionGCJ投影换算的。
1,http://greatmaps.codeplex.com/ 官网下载GMap.net控件
2,在GMap.NET.MapProviders文件夹下,建立AMap文件夹,在该文件夹下新建AMapProvider.cs AMapSateliteProvider.cs文件,如图所示
AMapProvider.cs文件
using System;
using GMap.NET;
using GMap.NET.MapProviders;
using GMap.NET.Projections;
namespace GMap.NET.MapProviders
{
public abstract class AMapProviderBase : GMapProvider
{
private GMapProvider[] overlays;
public AMapProviderBase()
{
this.MaxZoom = null;
base.RefererUrl = "http://www.amap.com/";
base.Copyright = string.Format("©{0} 高德软件 Image© DigitalGlobe & chinasiwei | AIRBUS & EastDawn", DateTime.Today.Year);
}
public override GMapProvider[] Overlays
{
get
{
if (this.overlays == null)
{
this.overlays = new GMapProvider[] { this };
}
return this.overlays;
}
}
public override PureProjection Projection
{
get
{
return