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

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

作者: 安静的林哥 | 来源:发表于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会自动为本地创建缓存文件,本项目暂未考虑,所以选择从服务器直接读取。

    默认地图

    相关文章

      网友评论

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

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