2016-05-31 149 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