Inserire un'immagine come marcatore di coordinate su una MapView
Da Gambas-it.org - Wikipedia.
Versione del 14 gen 2020 alle 03:05 di Vuott (Discussione | contributi)
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: [Nota 1]
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": "860"]).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", mp, 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
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