Differenze tra le versioni di "Rendere trasparente la mappa mostrata da una MapView"
(7 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
− | 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. <SUP>[[[#Note| | + | 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. <SUP>[[[#Note|nota 1]]]</sup> |
Essenzialmente è necessario assegnare alla Proprietà "MapView.Background" il valore della costante ''Color.Transparent'', e assegnare alla Proprietà "MapView.Map.Opacity" un valore compreso tra 0,00 e 1,00. | Essenzialmente è necessario assegnare alla Proprietà "MapView.Background" il valore della costante ''Color.Transparent'', e assegnare alla Proprietà "MapView.Map.Opacity" un valore compreso tra 0,00 e 1,00. | ||
− | Mostriamo di seguito un semplice esempio, nel quale si | + | Mostriamo di seguito un semplice esempio, nel quale si porrà una ''PictureBox'' e al di sopra di essa si porrà una ''MapView''. |
− | <BR>Inoltre, cliccando su un qualunque punto dell'oggetto ''MapView'' (compresa la parte sovrastante la ''PictureBox'', saranno mostrate in console le coordinate geografiche del punto cliccato con il puntatore del mouse. <SUP>[[[#Note| | + | <BR>Sarà dunque mostrata un'immagine, caricata nella predetta ''PictureBox'', al di sotto della mappa dell'isola di Linosa, ripresa da satellite e mostrata sulla ''MapView''. |
− | + | <BR>Inoltre, cliccando su un qualunque punto dell'oggetto ''MapView'' (compresa la parte sovrastante la ''PictureBox'', saranno mostrate in console le coordinate geografiche del punto cliccato con il puntatore del mouse. <SUP>[[[#Note|nota 2]]]</sup> | |
+ | Public Sub Form_Open() | ||
With PictureBox1 | With PictureBox1 | ||
Riga 19: | Riga 20: | ||
With MapView1 | With MapView1 | ||
<FONT Color=#B22222>.Background = Color.Transparent</font> | <FONT Color=#B22222>.Background = Color.Transparent</font> | ||
− | .Map.AddTile("GoogleMaps", "https://khms{s}.google.it/kh/v={version}&src=app&x={x}&y={y}&z={z}&s=Galile", ["version": " | + | .Map.AddTile("GoogleMaps", "https://khms{s}.google.it/kh/v={version}&src=app&x={x}&y={y}&z={z}&s=Galile", ["version": "979"]) |
.Map["GoogleMaps"].SubDomains = ["0", "1", "2"] | .Map["GoogleMaps"].SubDomains = ["0", "1", "2"] | ||
<FONT Color=#B22222>.Map["GoogleMaps"].Opacity = 0.6</font> | <FONT Color=#B22222>.Map["GoogleMaps"].Opacity = 0.6</font> | ||
Riga 26: | Riga 27: | ||
End With | End With | ||
− | + | End | |
− | + | Public Sub MapView1_MouseUp() | |
Dim pt As New Point(Mouse.X, Mouse.Y) | Dim pt As New Point(Mouse.X, Mouse.Y) | ||
Riga 35: | Riga 36: | ||
Print "Lat. "; Geo.DecToSex(MapView1.Map.PixelToMapPointRel(pt).Lat, 1); " - Lon. "; Geo.DecToSex(MapView1.Map.PixelToMapPointRel(pt).Lon, 2) | Print "Lat. "; Geo.DecToSex(MapView1.Map.PixelToMapPointRel(pt).Lat, 1); " - Lon. "; Geo.DecToSex(MapView1.Map.PixelToMapPointRel(pt).Lon, 2) | ||
− | + | End | |
Riga 42: | Riga 43: | ||
[1] Si ringrazia il membro [http://www.gambas-it.org/smf/index.php?action=profile;u=1249 Gianluigi] per il suo contributo di idee. | [1] Si ringrazia il membro [http://www.gambas-it.org/smf/index.php?action=profile;u=1249 Gianluigi] per il suo contributo di idee. | ||
− | [2] Qualora la mappa non appaia, verificare la versione GoogleMap, ed eventualmente modificarla in questo punto del codice: ["version": " | + | [2] Qualora la mappa non appaia, verificare la versione GoogleMap, ed eventualmente modificarla in questo punto del codice: ["version": "979"] |
− | <BR>Al riguardo vedere: [[ | + | <BR>Al riguardo vedere: [[Conoscere la versione più recente di Google Maps satellite]] |
Versione attuale delle 04:41, 5 giu 2024
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. [nota 1]
Essenzialmente è necessario assegnare alla Proprietà "MapView.Background" il valore della costante Color.Transparent, e assegnare alla Proprietà "MapView.Map.Opacity" un valore compreso tra 0,00 e 1,00.
Mostriamo di seguito un semplice esempio, nel quale si porrà una PictureBox e al di sopra di essa si porrà una MapView.
Sarà dunque mostrata un'immagine, caricata nella predetta PictureBox, al di sotto della mappa dell'isola di Linosa, ripresa da satellite e mostrata sulla MapView.
Inoltre, cliccando su un qualunque punto dell'oggetto MapView (compresa la parte sovrastante la PictureBox, saranno mostrate in console le coordinate geografiche del punto cliccato con il puntatore del mouse. [nota 2]
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": "979"]) .Map["GoogleMaps"].SubDomains = ["0", "1", "2"] .Map["GoogleMaps"].Opacity = 0.6 .Map.Center = MapPoint(35.8552054, 12.8692769) .Map.Zoom = 14 End With End Public Sub MapView1_MouseUp() Dim pt As New Point(Mouse.X, Mouse.Y) Print "Lat. "; Geo.DecToSex(MapView1.Map.PixelToMapPointRel(pt).Lat, 1); " - Lon. "; Geo.DecToSex(MapView1.Map.PixelToMapPointRel(pt).Lon, 2) End
Note
[1] Si ringrazia il membro Gianluigi per il suo contributo di idee.
[2] Qualora la mappa non appaia, verificare la versione GoogleMap, ed eventualmente modificarla in questo punto del codice: ["version": "979"]
Al riguardo vedere: Conoscere la versione più recente di Google Maps satellite