Ottenere un'Image dalla mappa mostrata da una MapView

Da Gambas-it.org - Wikipedia.
Versione del 14 gen 2020 alle 10:05 di Vuott (Discussione | contributi) (Creata pagina con "Per ottenere un oggetto <I>Image</i>, e da questo quindi un file immagine, della mappa corrente mostrata da una ''MapView'', è necessario utilizzare il Metodo "''.Grab()''" d...")

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

Per ottenere un oggetto Image, e da questo quindi un file immagine, della mappa corrente mostrata da una MapView, è necessario utilizzare il Metodo ".Grab()" della proprietà ".Map" della Classe MapView.

Di seguito mostriamo un semplice esempio: [Nota 1]

Private mp As New MapPoint


Public Sub Form_Open()
 
 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"]
 MapView1.Map.Zoom = 16
 
' Imposta il centro del cerchio specificandone preliminarmente le coordinate geografiche:
 mp.Lat = 41.8902142
 mp.Lon = 12.4900422
 MapView1.Map.Center = mp
  
End


Public Sub Button1_Click()
 
 Dim im As New Image(MapView1.W, MapView1.H, Color.White, gb.Standard)
 
' Carica nell'oggetto "Image" i dati dell'immagine della mappa mostrata dalla "MapView":
 With MapView1
   im = .Map.Grab(MapView1.Map.GetTile("GoogleMap").MaxBounds(mp, mp), MapView1.W, MapView1.H, 0, .Map.Zoom)
 End With
 
 im.Save("/tmp/prova.png", 100)
  
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