2016-05-31 119 views
0

我添加了一个上下文菜单,可以让您在地图上更改标记。问题是你必须关闭并重新打开对话框才能看到更改。我究竟做错了什么?标记更改后刷新地图

Private Sub gmapCMS_Add() 
    gmapCtrl.UpdateMarkerLocalPosition(mrk) 
End Sub 

Private Sub Location_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
Dim longlat As PointLatLng = New PointLatLng(Latitude, Longitude) 
      gmapCtrl.Position = longlat 
      mrk = New Markers.GMarkerGoogle(longlat, Markers.GMarkerGoogleType.green) 
      gmOverlay.Markers.Add(mrk) 
      gmapCtrl.Overlays.Add(gmOverlay) 
End Sub 

回答

0
Private Sub gmapCMS_Add() 
    gmOverlay.Markers.Remove(mrk) 
    mrk = New Markers.GMarkerGoogle(gmapCtrl.Position, Markers.GMarkerGoogleType.green) 
    gmOverlay.Markers.Add(mrk) 
End Sub 

想通了。我在GMAP论坛上的帖子如下。

https://greatmaps.codeplex.com/discussions/655105

+0

您可以更新标记的位置并避免每次都创建一个新的标记。 – rdoubleui

+0

保留对标记的引用并使用其SetPosition方法更新位置。 – rdoubleui