C#基于开源地图GMap的开发示例

该文介绍了使用GMap.NET进行项目开发的初步步骤,包括引用dll文件、添加地图控件、初始化图层以及设置地图属性。示例中展示了如何在WindowsForms应用中使用GMap进行地图展示和交互操作,为后续的功能开发打下基础。

一.介绍

本示例程序是我在做项目前的探索示例。示例中测试了一些简单的功能,满足了我项目中的基本功能。更进一步的开发,有待继续研究。

二.项目源代码地址

源代码下载地址

三.项目讲解

1.引用GMap的dll文件

利用GMap开发,需要用到两个dll文件:GMap.NET.Core.dll和GMap.NET.WindowsForms.dll。可以在vs中直接引用

在这里插入图片描述

2.引入命名控件

using GMap.NET;
using GMap.NET.WindowsForms;
using GMap.NET.MapProviders;
using GMap.NET.WindowsForms.Markers;

3.添加GMap地图控件

在工具栏中找到GMap.NET.WindowsForms.GMapControl,拖动到界面。

4.初始化地图及各图层

private void MapInit()
        {
            //初始化图层
            m_Overlay_Circle = new GMapOverlay("Circle");
            m_Overlay_Marker = new GMapOverlay("markers");
            m_Overlay_Line = new GMapOverlay("Line");
            m_Overlay_Planes = new GMapOverlay("Planes");
            //添加图层到地图上
            mapControl.Overlays.Add(m_Overlay_Circle);
            mapControl.Overlays.Add(m_Overlay_Marker);
            mapControl.Overlays.Add(m_Overlay_Line);
            mapControl.Overlays.Add(m_Overlay_Planes);
            //Bing混合地图
            mapControl.MapProvider = GMapProviders.GoogleChinaMap;

            //离线模式
            mapControl.Manager.Mode = AccessMode.CacheOnly;
            String mapPath = Application.StartupPath + "\\Data.gmdb";
            GMap.NET.GMaps.Instance.ImportFromGMDB(mapPath);

            //地图中心位置
            //gMap.SetPositionByKeywords("beijing, china"); 
            mapControl.Position = new PointLatLng(31.49, 104.6);  //中心点的纬度,经度     

            //不显示中心十字点
            //左键拖拽地图
            mapControl.DragButton = MouseButtons.Left;
            //不显示十字中心
            mapControl.ShowCenter = false;
            //最小缩放
            mapControl.MinZoom = 5;
            //最大缩放
            mapControl.MaxZoom = 12;
            //当前缩放
            mapControl.Zoom = 9;

            mapControl.MouseClick += new MouseEventHandler(mapControl_MouseClick);
        }

5.开发

接下来就可以在GMap上进行各种快乐的开发了。比如:添加飞机、添加航线、添加距离环、飞机按航线飞行等。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

muyiliu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值