Rendere trasparente la mappa mostrata da una MapView

Da Gambas-it.org - Wikipedia.
Versione del 19 lug 2018 alle 08:51 di Vuott (Discussione | contributi) (Creata pagina con "E' possibile rendere trasparente la mappa mostrata da una ''MapView'', al fine ad esempio di far vedere contemporaneamente e al di sotto di tale oggetto un'altra immagine. Es...")

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

E' possibile rendere trasparente la mappa mostrata da una MapView, al fine ad esempio di far vedere contemporaneamente e al di sotto di tale oggetto un'altra immagine.

Essenzialmente è necessario assegnare alla proprietà "MapView.Background" il valore della costante Color.Transparent, e assegnare alla proprietà ".Opacity" del " "Tile" dell'oggetto ".Map" un valore compreso tra 0.00 e 1.00.

Mostriamo di seguito un semplice esempio, nel quale si farà vedere un'immagine, caricata in un oggetto PictureBox, al di sotto della mappa dell'isola di Linosa, ripresa da satellite, mostrata su una MapView.

Public Sub Form_Open()
 
 With PictureBox1
' Assegnamo la "PictureBox come oggetto nuovo "figlio" della "MapView":
   .Reparent(MapView1, 0, 0)
' Gerarchicamente poniamo la "PictureBox al di sotto del suo nuovo "genitore":
   .Lower()
   .Picture = Picture.Load(".icon.png")
   .W = .Picture.W
   .H = .Picture.H
 End With
 
 With MapView1
   .Background = Color.Transparent
   .Map.AddTile("GoogleMaps", "https://khms{s}.google.it/kh/v={version}&src=app&x={x}&y={y}&z={z}&s=Galile", ["version": "800"])
    .Map["GoogleMaps"].SubDomains = ["0", "1", "2"]
   .Map["GoogleMaps"].Opacity = 0.6
   .Map.Center = MapPoint(35.8552054, 12.8692769)
   .Map.Zoom = 14
 End With
 
End