我们先看看GMap.NET的定义:
GMap.NET是一个强大、免费、跨平台、开源的.NET控件,它在Windows Forms 和WPF环境中能够通过Google, Yahoo!, Bing, OpenStreetMap, ArcGIS, Pergo, SigPac等实现寻找路径、地理编码以及地图展示功能,并支持缓存和运行在Mobile环境中。
GMap.NET是一个开源的GEO地图定位和跟踪程序。就像谷歌地图、雅虎地图一样,可以自动计算两地的距离,定位经纬度,与Google地图不同的是,该项目是建立在C#语言WinForm基础上的。可以对地图放大缩小,进行城市标记等。
GMap.NET的项目地址是http://greatmaps.codeplex.com/ ,我们可以下载相关的例子和源码进行学习和研究。我在Google上搜过相关的项目,好像介绍的文章不多,不过不影响这个控件的强大和易用。
首先我们建立一个c# winform工程,添加GMap.NET.Core.dll 、GMap.NET.WindowsForms.dll、 System.Data.SQLite.DLL,BSE.Windows.Forms.dll 动态库如没有到上面的地址下载个,在想工具栏中添加GMapControl控件,将控件加载到工具栏中。
需要注意: 如用VS2010开发 需像应用程序中添加app.config文件 文件代码如下:
<?xml version="1.0"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
<requiredRuntime version="v4.0.20506"/>
</startup>
</configuration>
才可以正常使用否则出现版本错误信息。
初始化地图显示部分:这里比较简单。代码如下:
private void GMapTest_Load(object sender, EventArgs e)
{
gMapControl1.Position = new PointLatLng(45.7543, 126.6281);
gMapControl1.MinZoom = 5;
gMapControl1.Zoom = 100;
}
gMapControl1.MinZoom 设置控件的最小缩放比例,gMapControl1.Zoom当前显示缩放比例。