由于本人对于Gmap的使用时间不长,有很多东西不是太熟悉,所以本人的代码有借鉴的部分,如有发现侵权,还请及时联系本人。
我目前已经基本实现了,地图的放大、缩小、平移的功能。完成了鼠标单击标点,输入经纬度标点,然后通过标志点连接成轨迹的功能,还可以保存正在使用的这块地图为图片。
下面是本人的代码部分,注释已经很明确了,如有不明白的地方还请及时评论。
Gmap有个需要配置的部分详情可看:https://my.oschina.net/huanglii/blog/882
使用Gmap的例程很多,我的代码就不一一介绍了。
详细的代码建议看:https://blog.csdn.net/huangli0/article/details/80147243
界面如下东西很少的。

作用域部分
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using GMap.NET;
using GMap.NET.MapProviders;
using GMap.NET.WindowsForms;
using GMap.NET.WindowsForms.Markers;
using Demo.WindowsForms.CustomMarkers;
通过经纬度查询位置代码部分
private void Button1_Click(object sender, EventArgs e)//确定按钮按下{//在两个文本框中输入经纬即可得到想要的标志点//进而实现对轨迹的描绘i++;double x = double.Parse(textBox1.Text);double y = double.Parse(textBox2.Text);var q = new PointLatLng(x, y);this.gMapControl1.Position = new PointLatLng(x, y);GMapMarker marker;if (i == 1){marker = new GMarkerGoogle(q, GMarkerGoogleType.red_dot);}else{marker = new GMarkerGoogle(q, GMarkerGoogleType.blue_dot);}overlay.Markers.Add(marker);overlay.Routes.Clear();list.Add(q);GMapRoute route = new GMapRoute(list, "line");route.Stroke.Color = Color.Red; //线为红色route.Stroke.Width = 2; //设置画overlay.Routes.Add(route);}
离线地图下载器:https://www.cnblogs.com/luxiaoxun/p/4454880.html


















