Inserire un'immagine come marcatore di coordinate su una MapView

Da Gambas-it.org - Wikipedia.

Per inserire un'immagine come marcatore di coordinate su una MapView al posto della classica forma a goccia rossa, è necessario utilizzare il Metodo ".AddPoint( )" del Metodo ".AddShape( )" della Classe "Map".

Mostriamo un semplice esempio, nel quale all'apertura del programma sarà inserito sulla mappa un marcatore di coordinate rappresentato dall'immagine prescelta. Successivamente il marcatore potrà essere inserito sul punto della mappa, ove si clicca con il mouse:

Private im As Image
Private mp As New MapPoint

Public Sub _New()
 
 MapView1.Map.AddTile("GoogleMap", "https://khms{s}.google.it/kh/v={version}&src=app&x={x}&y={y}&z={z}&s=Galile", ["version": "859"]).SubDomains = ["0", "1", "2"]
 
End


Public Sub Form_Open()
 
 im = Image.Load("/percorso/del/file/immagine")
 
' Imposta il centro del cerchio specificandone preliminarmente le coordinate geografiche:
 mp.Lat = 41.8902142
 mp.Lon = 12.4900422
 MapView1.Map.Center = mp
 
' Mostra l'immagine prescelta come marcatore delle coordinate:
 MapView1.Map.AddShape("immagine").AddPoint("immagine", MapPoint(mp.Lat, mp.Lon), Color.Default, im)
 
End


Public Sub MapView1_MouseUp()
 
 Dim pt As New Point(Mouse.X, Mouse.Y)
  
 With MapView1
   mp = .Map.PixelToMapPointRel(pt)
   .Map.AddShape("immagine").AddPoint("immagine", mp, Color.Default, im)
   .Refresh()
   .Map.Refresh()
 End With
 
 Print mp.Lat, mp.Lon
 
End