美文网首页GeoLeaning
GMap实战-1-控件运行环境搭建

GMap实战-1-控件运行环境搭建

作者: 放翁lcf | 来源:发表于2018-05-06 14:47 被阅读67次

    GMap.NET是一个强大、免费、跨平台、开源的.NET控件,目前有Windows平台,还支持运行在移动环境中。它支持多种地图源,并提供了寻找路径、地理编码还有地图可视化等功能。

    其官网greatmaps:https://archive.codeplex.com/?p=greatmaps上的介绍为:

    GMap.NET - Great Maps for Windows Forms & Presentation
    GMap.NET is great and Powerful, Free, cross platform, open source .NET control. Enable use routing, geocoding and maps from Google, Yahoo!, Bing, OpenStreetMap, ArcGIS, Pergo, SigPac, Yandex, Mapy.cz in Windows Forms & Presentation, supports caching and runs on windows mobile!

    下面介绍如何在自己的项目中使用GMap.NET控件。

    首先在github上下载源码,下载地址:github-greatmaps,本地打开 GMap.NET.sln,然后对其中的GMap.NET.Core和GMap.NET.WindowsForms重新生成;

    重新生成dll文件 在自建项目中添加引用

    在自己新建的窗体项目中添加引用,选择前面一步生成的dll文件,生成的dll文件一般在GMap.NET.WindowsForms\bin\Debug目录下,

    添加dll文件
    选择文件夹中的dll引用

    添加引用之后可以看到我们自己的项目的引用里面已经有GMap.NET.Core和GMap.NET.WindowsForms了。(我这边还有GMap.NET.WindowsPresentation是因为我把WindowsPresentation也生成并引用进去了)


    引用结果

    添加地图组件

    接下来我们添加地图组件。GMapControl组件是我们应用gmap非常重要的组件,获取地图源和进行地图可视化都需要用到它。下图是官方github上展示的图片,GMapControl的效果就是这样,它提供了底图,我们可以在上面添加很多图层,例如进行点标记,画多边形等,就像web地图API那么容易使用。

    应用GMapControl组件官方样例

    引用GMap.NET.WindowsForms后我们自己建的项目还是没有GMapControl组件的,需要手动去添加,在工具栏上点击鼠标右键,点击选择项,会弹出一个选择工具箱项的窗口,如下图,等.NET Framework组件里面的项目加载完点击右下角的浏览按钮,在文件对话框中找到GMap.NET.WindowsForms.dll,选择这个文件,然后就会显示GMapControl组件了。

    给工具箱添加GMapControl组件

    点确定回到工具箱,在组件里面选择GMapControl拖到我们的窗体上,然后给他重命名,一般命名为gmap,我的项目里命名为gmapc。

    自建项目添加GMapControl组件效果

    之后在窗体的Load事件上添加一些初始化的代码,熟悉瓦片地图或者web地图API会很容易理解下面的代码

    
    private void Form1_Load (object sender, EventArgs e) {
    
      gmapc.MapProvider = GMapProviders.GoogleChinaMap;//设置底图为谷歌中国地图
    
      GMap.NET.GMaps.Instance.Mode = GMap.NET.AccessMode.ServerAndCache;
    
      gmapc.SetPositionByKeywords("Suzhou, China");//设定初始中心位置为苏州,这是因为之后的实战主要针对苏州
    
      gmapc.DragButton = System.Windows.Forms.MouseButtons.Left; //左键可拖动地图
    
      gmapc.Zoom = 13;//初始化时的缩放级别(参考瓦片地图的级别划分)
    
      gmapc.MaxZoom = 19;//最大显示级别
    
      gmapc.MinZoom = 3;//最小级别
    
    }
    
    

    运行效果图如下:


    运行效果

    GMap提供了很多的地图底图,有ArcGIS的地图源、必应地图、谷歌地图(分为谷歌地图和谷歌中国地图)、雅虎地图、OpenStreetMap的地图等等,可以按需选择(因为中国境内会涉及坐标系统的问题)。

    目前我们搭建好了基于.NET 的地图可视化环境,进一步的应用(例如导入自己的数据、进行地理编码、绘制路径、坐标点的聚类分析等)我们下一篇再说。

    相关文章

      网友评论

        本文标题:GMap实战-1-控件运行环境搭建

        本文链接:https://www.haomeiwen.com/subject/wplurftx.html