VS2017环境下GMap的学习及开发(二)

在GMapcontrol控件中显示地图

接着上一篇,在命名空间加入:

using GMap.NET.MapProviders;

在public Form1() 函数中加入

public Form1()
        {
            InitializeComponent();
            ///gMapControl1  为GMapcontrol控件的变量
            this.gMapControl1.CacheLocation = System.Windows.Forms.Application.StartupPath;//指定地图缓存存放路径
            this.gMapControl1.MapProvider = GMapProviders.GoogleChinaHybridMap;//指定地图类型
            this.gMapControl1.Manager.Mode = AccessMode.ServerAndCache;//地图加载模式
            this.gMapControl1.MinZoom = 1;   //最小比例
            this.gMapControl1.MaxZoom = 23; //最大比例
            this.gMapControl1.Zoom = 12; //当前比例
            this.gMapControl1.ShowCenter = false; //不显示中心十字点
            this.gMapControl1.DragButton = System.Windows.Forms.MouseButtons.Left;//左键拖拽地图
            this.gMapControl1.Position = new PointLatLng(39.92, 116.4);
            
        }

运行结果:
在这里插入图片描述

在地图上标记Marker

这里我们要用到marker,所以首先要加入相应的命名空间:

using GMap.NET.WindowsForms.Markers;

然后定义一个覆盖物层变量:

public GMapOverlay overlay = new GMapOverlay("Marker");

在public Form1()中加入如下代码:

this.gMapControl1.Overlays.Add(overlay);//将图层加入到地图中
this.gMapControl1.MouseDown += new MouseEventHandler(gMapControl1_MouseClick);//为地图添加鼠标点击事件

这里里面的 “gMapControl1_MouseClick”为自定义的鼠标的响应函数,所以我们要加入此函数:

 private void gMapControl1_MouseClick(object sender, MouseEventArgs e)
        {
            PointLatLng p = this.gMapControl1.FromLocalToLatLng(e.X, e.Y);
            GMarkerGoogle marker = new GMarkerGoogle(p, GMarkerGoogleType.arrow);
            marker.ToolTipText = "创建的点";
            this.overlay.Markers.Add(marker);//将点添加到图层
        }

然后运行就可以在地图上打出点来了。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值