Я подаю заявку на vb. net, используя библиотеку GMap. net. Я сделал кнопку (btnRemove
), которая при каждом нажатии на нее удаляет маркер, указанный в TextBox1
, вот код:
Private Sub btnRemove_Click(sender As Object, e As EventArgs) Handles btnRemove.Click
If TextBox1.Text < map.Overlays.Count.ToString() Then
map.Overlays.RemoveAt(TextBox1.Text)
map.Refresh()
End If
End Sub
Где map
- это GMapControl
, где я отображать маркеры.
Это работает отлично и заставляет меня думать, что каждый маркер, который я создаю на карте, имеет индекс, который идет от 0 до map.Overlays.count.ToString () - 1 и изменяется всякий раз, когда маркер с более низким индексом удаляется (как массив).
Мне было интересно, как я могу получить индекс, нажав на маркер и показывая его на MsgBox?
Public Sub gMapControl_OnMarkerClick(item As GMapMarker, e As MouseEventArgs) Handles map.OnMarkerClick
MsgBox(***index of the marker***)
End Sub
I покидаю процедуру создания маркеров, если она может быть полезна:
Public Sub AddMarker(pointToAdd As PointLatLng, markerType As GMarkerGoogleType)
Dim markers = New GMapOverlay("markers")
Dim marker = New GMarkerGoogle(pointToAdd, markerType)
marker.ToolTipText = $"Latitudine: {map.Position.Lat }" + vbCrLf + $"Longitudine: {map.Position.Lng}"
Dim toolTip = New GMapToolTip(marker)
toolTip.Fill = New SolidBrush(Color.Blue)
toolTip.Foreground = New SolidBrush(Color.WhiteSmoke)
marker.ToolTip = toolTip
markers.Markers.Add(marker)
map.Overlays.Add(markers)
End Sub
Спасибо