GMap.Net
GMap.Net是.Net下一个地图控件,可以基于Http协议加载各个公司的地图,主要原理是通过解析各个公司的地图服务的URL,传入相应的参数得到对应的切片底图,如高德地图的GMapProvider的实现如下:
using System;
using GMap.NET;
using GMap.NET.MapProviders;
using GMap.NET.Projections;
namespace GMapProvidersExt
{
public abstract class AMapProviderBase : GMapProvider
{
public AMapProviderBase()
{
MaxZoom = null;
RefererUrl = "http://www.amap.com/";
//Copyright = string.Format("©{0} 高德 Corporation, ©{0} NAVTEQ, ©{0} Image courtesy of NASA", DateTime.Today.Year);
}
public override PureProjection Projection
{
get { return MercatorProjection.Instance; }
}
GMapProvider[] overlays;
public override GMapProvider[] Overlays
{
get
{
if (overlays == null)
{
overlays = new GMapProvider[] { this };
}
return overlays;
}
}
}
public class AMapProvider : AMapProviderBase
{
public static readonly AMapProvider Instance;
readonly Guid id = new Guid("EF3DD303-3F74-4938-BF40-232D0595EE88");
public override Guid Id
{
get { return id; }
}
readonly string name = "AMap"