Inserire del testo su una MapView
Vai alla navigazione
Vai alla ricerca
Una modalità per poter inserire del testo su una MapView è quella di scrivere il testo su un oggetto Image e successivamente passarlo all'ultimo argomento del Metodo ".AddPoint( ) ".
Pur spostando con il mouse la mappa, il testo resterà stabile sul punto ove era stato disegnato.
Vediamo un semplice esempio: [Nota 1]
Private mp As New MapPoint
Public Sub Form_Open()
With MapView1
.X = 0
.Y = 0
.W = Me.W
.H = Me.H
.Map.AddTile("GoogleMap", "https://khms{s}.google.it/kh/v={version}&src=app&x={x}&y={y}&z={z}&s=Galile", ["version": "860"]).SubDomains = ["0", "1", "2"]
.Map.Zoom = 16
mp.Lat = 41.8902142
mp.Lon = 12.4900422
.Map.Center = mp
End With
End
Public Sub MapView1_MouseDown()
Dim pt As New Point(Mouse.X, Mouse.Y)
mp = MapView1.Map.PixelToMapPointRel(pt)
End
Public Sub MapView1_MouseUp()
Dim im As Image
' Crea l'oggetto "Image":
im = New Image(60, 40, Color.Transparent, gb.Standard)
' Scrive le coordinate geografiche nell'oggetto "Image" in forma testuale:
With Paint
.Begin(im)
.Font.Size = 12
.Brush = .Color(Color.Red)
.DrawText(Format(mp.Lat, "#.######") & "\n" & Format(mp.Lon, "#.######"), 1, 1, im.W, im.H, Align.Normal)
.End
End With
With MapView1
' Passa l'oggetto "Image" al 3° argomento del Metodo ".AddPoint( )":
.Map.AddShape("immagine").AddPoint("immagine", mp, Color.Default, im)
.Refresh()
.Map.Refresh()
End With
End
Note
[1] Qualora la mappa non appaia, verificare la versione GoogleMap, ed eventualmente modificarla in questo punto: ["version": "860"]
Al riguardo vedere: https://www.gisenglish.com/2018/06/download-sas-planet-nightly-all.html