一.介绍
本示例程序是我在做项目前的探索示例。示例中测试了一些简单的功能,满足了我项目中的基本功能。更进一步的开发,有待继续研究。
二.项目源代码地址
三.项目讲解
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上进行各种快乐的开发了。比如:添加飞机、添加航线、添加距离环、飞机按航线飞行等。