GMap.NET入门
- 下载 GMap.NET,并在VS中添加GMap.NET控件
- 初始化并加载一张地图
- 添加标记点、线、多边形
- 为控件添加事件,在鼠标单击时打点
快捷添加
选中窗体中的GMap控件,并查看内置事件

在这里,通过使用MouseDown和DoubleClick事件演示在鼠标单击时向地图插入一个标记点。
- 首先双击GMap控件,在gMapControl1_Load中初始化一张地图
this.gMapControl1.Manager.Mode = AccessMode.ServerAndCache;this.gMapControl1.MapProvider = GMapProviders.GoogleChinaHybridMap;this.gMapControl1.Position = new PointLatLng(40.0, 117.0);this.gMapControl1.MinZoom = 4;this.gMapControl1.MaxZoom = 18;this.gMapControl1.Zoom = 14;
- 创建一个成员变量,用于储存鼠标单击时的位置信息
private PointLatLng mouseDownPos;
- 双击编辑MouseDown事件,在事件内编辑
//当前鼠标按下时的位置信息赋值给mouseDownPos
mouseDownPos = this.gMapControl1.FromLocalToLatLng(e.X, e.Y);
- 双击编辑Click事件,在事件内编辑
//在鼠标点击处创建一个标记点
GMapMarker marker = new GMarkerGoogle(mouseDownPos, GMarkerGoogleType.blue_pushpin);
//将该标记添加到图层中
markers.Markers.Add(marker);
至此完成了在鼠标点击处打标记点的功能,如图

该Form源码:
using GMap.NET;
using GMap.NET.MapProviders;
using GMap.NET.WindowsForms;
using GMap.NET.WindowsForms.Markers;
using System;
using System.Windows.Forms;
namespace GmapMark
{public partial class Form1 : Form{//创建一个名为“markers”的图层GMapOverlay markers = new GMapOverlay("lay");private PointLatLng mouseDownPos;public Form1(){InitializeComponent();}private void gMapControl1_Load(object sender, EventArgs e){this.gMapControl1.Manager.Mode = AccessMode.ServerAndCache;this.gMapControl1.MapProvider = GMapProviders.GoogleChinaHybridMap;this.gMapControl1.Position = new PointLatLng(40.0, 117.0);this.gMapControl1.MinZoom = 4;this.gMapControl1.MaxZoom = 18;this.gMapControl1.Zoom = 14; //将图层添加到地图this.gMapControl1.Overlays.Add(markers);}private void Form1_Load(object sender, EventArgs e){}private void gMapControl1_Click(object sender, EventArgs e){GMapMarker marker = new GMarkerGoogle(mouseDownPos, GMarkerGoogleType.blue_pushpin);markers.Markers.Add(marker);}private void gMapControl1_MouseDown(object sender, MouseEventArgs e){mouseDownPos = this.gMapControl1.FromLocalToLatLng(e.X, e.Y);}}
}
















