美文网首页
打造地图拼接利器(二)软件框架

打造地图拼接利器(二)软件框架

作者: 安静的林哥 | 来源:发表于2021-06-26 22:25 被阅读0次

我们采用Visual studio2013作为开发环境,GMap.net作为地图环境,实现相关功能。

一、GMap.net

GMap.NET 是一个免费、开源的.NET控件,有Windows Forms 和WPF2个版本,内置了Google, Yahoo!, Bing, OpenStreetMap, ArcGIS, Pergo, SigPac等实现寻找路径、地理编码以及地图展示功能,并支持缓存和运行在Mobile环境中。在https://gitee.com/lukeson/gmap下载源码,运行build下的批处理文件,生成相应版本的动态库。

编译控件库

二、软件界面

打开vs2013,新建一个项目,起好名称,选择window桌面、windows窗体应用程序,.net版本选为4.0即可。

vs设置

增加菜单和状态栏,添加一个splitcontainer,左侧设置相关参数区域,右侧设置一个panel,用于承载地图控件,并添加地图切换、覆盖地图(主要用于在卫星图上覆盖路网,生成复合地图)2个Combox控件,再增加一个TrackBar控件,用于控制地图缩放。

主界面布局

在解决方案管理器的引用中添加对GMap.NET.Core.dll和GMap.NET.WindowsForms.dll的引用。

编辑主窗体的源码,加入对Gmap控件的初始化代码,完成地图控件,鼠标移动后经纬度、缩放级别的显示和地图图源配置:

GMapControlgmapc;

 publicmainForm()

        {

            InitializeComponent();

            InitUI();

}

        private voidInitMap()

        {

            gmapc= new GMapControl();

            mainPanel.Controls.Add(gmapc);

            gmapc.Dock = DockStyle.Fill;

            gmapc.MapProvider= GMapProviders.BingMap;;

            gmapc.CacheLocation = Application.StartupPath;

            gmapc.Manager.Mode = AccessMode.ServerOnly;

            gmapc.Position = new PointLatLng(40.0, 117.0);

            gmapc.MinZoom = 1;

            gmapc.MaxZoom = 21;

            gmapc.Zoom = 5;

            trackBar1.Value = (int)gmapc.Zoom;

            gmapc.OnMapZoomChanged +=gmapc_OnMapZoomChanged;

            gmapc.MouseMove +=gmapc_MouseMove;

        }

        void gmapc_MouseMove(object sender, MouseEventArgse)

        {

            PointLatLng point = gmapc.FromLocalToLatLng(e.X,e.Y);

            tsslPosition.Text = string.Format("鼠标所在经纬度:{0},{1}  当前层:{2}", point.Lng, point.Lat,gmapc.Zoom);

        }

我们的地图provider先以bing地图为例,运行程序,即可看到地图。这里补充一下,通过gmapc.Manager.Mode = AccessMode.ServerOnly可以设置地图是否缓存到本地,GMap.net会自动为本地创建缓存文件,本项目暂未考虑,所以选择从服务器直接读取。

默认地图

相关文章

  • 打造地图拼接利器(二)软件框架

    我们采用Visual studio2013作为开发环境,GMap.net作为地图环境,实现相关功能。 一、GMap...

  • 打造地图拼接利器(五)地图采集与拼接

    获取到经纬度范围后,我们需要计算出瓦片的范围。 本文涉及的地图瓦片都以左上角为原点开始编号的,从左至右为 x 轴,...

  • 打造地图拼接利器(一)前言

    一、需求分析 实际工作中,很多公司或个人都需要一些幅面较大的地图,使用PS或AI等绘图工具,在上面标记一些内容,用...

  • 打造地图拼接利器(三)图源配置

    打造地图拼接利器(三)图源配置 GMap.net内置了74个地图图源,清单如下: 但在实际使用中,大部分都因一些未...

  • 打造地图拼接利器(四)数据交互

    这里的数据交互,主要指在地图上可以选择一个范围,这个范围可以调节,同时返回所选范围的经纬度值。 GMap.net提...

  • UI基础

    框架介绍 QuartzCore:核心动画框架,用来做游戏的 Mapkit:地图框架,打车软件常用 CoreLoca...

  • Spades

    SPAdes序列拼接软件是序列拼接软件中的后起之秀,拼接效果很不错,目前很多拼接软件已经都不在更新了,而spade...

  • 也来说说导航软件的隐私保护

    地图导航软件, 一.导航软件(ios) 二.获取位置信息的要求 (Apple)地图 图片发自简书App Googl...

  • Flutter 安装

    前言:Flutter 移动开发框架软件简介Flutter 由 Google 的工程师团队打造,用于创建高性能、跨平...

  • 基于 WebGL 的开源地理空间数据可视分析框架

    一、项目简介 基于 WebGL 的开源地理空间数据可视分析框架。 二、实现功能 点图层(气泡图、符号地图、聚合地图...

网友评论

      本文标题:打造地图拼接利器(二)软件框架

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