GMAP.NET Winforms - 尝试将现有标记拖到新位置

问题描述

我有一个使用 GMAP.NET 控件并显示多个标记的 winforms 应用程序。我希望能够将标记拖动到新位置,但似乎找不到太多细节或代码示例来实现这一点。

我有以下方法 - 我认为可以处理功能,但需要为刚刚注释掉的代码充实一些代码。或者也许我走错了路,还有比这更简单的方法

谁能进一步说明如何实现能够选择标记然后能够将其拖动到新位置的目标。

...

Private drag As Boolean
Private NewMarkerLat As Double
Private NewMarkerLng As Double
Dim OriginalStartPosLat As Double
Dim OriginalStartPosLng As Double


Dim Idx As Integer  '//Perhaps a unique identifier in the list that is set in the marker tag property
Dim CurrentWayPoint As WayPointItem   '//The Current Item in the list(of WaypointItems) that are currently being displayed

Private Sub GMap1_OnMarkerEnter(item As GMapMarker) Handles GMap1.OnMarkerEnter
    '//This should identify the marker I'm hovering over show

    OriginalStartPosLat = item.Position.Lat
    OriginalStartPosLng = item.Position.Lng
    Idx = item.Tag
End Sub


Private Sub GMap1_MouseDown(sender As Object,e As MouseEventArgs) Handles GMap1.MouseDown
    If GMap1.IsMouSEOverMarker Then
        drag = True

        'The item being worked on should be OriginalStartPosLat,OriginalStartPosLng and Idx
        'I'm not sure about setting WP to the item in the List of waypoints which matches the 
        'list of waypoints - basically the current item I'm working on.

    End If
End Sub


Private Sub GMap1_MouseMove(sender As Object,e As MouseEventArgs) Handles GMap1.MouseMove
    'If drag is set then 
    '   we want to adjust the position of the marker to match that of the New position on the map
    '   setting the following
    '   NewMarkerLat.Lat
    '   NewMarkerLat.lng
    'end if

End Sub

Private Sub GMap1_MouseUp(sender As Object,e As MouseEventArgs) Handles GMap1.MouseUp
    If drag = True Then
        'Update the marker that was selected to new position
        '//Update the marker position of the original marker in the list of markers
        '// to match that of the ie.   OriginalStartLat,Lng to NewMarkerLat,lng
    End If
    drag = False
End Sub

...

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)