Differenze tra le versioni di "Ottenere un'Image dalla mappa mostrata da una MapView"
Da Gambas-it.org - Wikipedia.
Riga 1: | Riga 1: | ||
− | Per ottenere un oggetto <I>Image</i>, e da questo quindi un file immagine, della mappa corrente mostrata da una ''MapView'', è | + | Per ottenere un oggetto <I>Image</i>, e da questo quindi un file immagine, della mappa corrente mostrata da una ''MapView'', è possibile adottare due modalità. |
− | + | ====Uso del Metodo MapView.Draw()==== | |
+ | Mostriamo un esempio pratico: | ||
'''Public''' Sub Form_Open() | '''Public''' Sub Form_Open() | ||
Dim mp As New MapPoint | Dim mp As New MapPoint | ||
− | MapView1.Map.AddTile(" | + | <FONT Color=gray>' ''Imposta un "Raster Tiles Server" remoto:''</font> |
+ | MapView1.Map.AddTile("opentopo", "https://a.tile.opentopomap.org/{z}/{x}/{y}.png") | ||
+ | MapView1.Map.Zoom = 16 | ||
+ | |||
+ | <FONT Color=gray>' ''Imposta il centro della mappa viasualizzata specificandone preliminarmente le coordinate geografiche:''</font> | ||
+ | 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, Image.Standard) | ||
+ | |||
+ | With Paint | ||
+ | .Begin(im) | ||
+ | <FONT Color=#B22222>MapView1.Map.Draw()</font> | ||
+ | .End | ||
+ | End With | ||
+ | |||
+ | im.Save("/tmp/prova.png", 100) | ||
+ | |||
+ | '''End''' | ||
+ | |||
+ | |||
+ | ====Uso del Metodo MapView.Grab()==== | ||
+ | Di seguito mostriamo un semplice esempio: | ||
+ | '''Public''' Sub Form_Open() | ||
+ | |||
+ | Dim mp As New MapPoint | ||
+ | |||
+ | <FONT Color=gray>' ''Imposta un "Raster Tiles Server" remoto:''</font> | ||
+ | MapView1.Map.AddTile("opentopo", "https://a.tile.opentopomap.org/{z}/{x}/{y}.png") | ||
MapView1.Map.Zoom = 16 | MapView1.Map.Zoom = 16 | ||
Riga 29: | Riga 64: | ||
'''End''' | '''End''' | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Versione delle 09:33, 3 mag 2020
Per ottenere un oggetto Image, e da questo quindi un file immagine, della mappa corrente mostrata da una MapView, è possibile adottare due modalità.
Uso del Metodo MapView.Draw()
Mostriamo un esempio pratico:
Public Sub Form_Open() Dim mp As New MapPoint ' Imposta un "Raster Tiles Server" remoto: MapView1.Map.AddTile("opentopo", "https://a.tile.opentopomap.org/{z}/{x}/{y}.png") MapView1.Map.Zoom = 16 ' Imposta il centro della mappa viasualizzata 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, Image.Standard) With Paint .Begin(im) MapView1.Map.Draw() .End End With im.Save("/tmp/prova.png", 100) End
Uso del Metodo MapView.Grab()
Di seguito mostriamo un semplice esempio:
Public Sub Form_Open() Dim mp As New MapPoint ' Imposta un "Raster Tiles Server" remoto: MapView1.Map.AddTile("opentopo", "https://a.tile.opentopomap.org/{z}/{x}/{y}.png") 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, Image.Standard) ' Carica nell'oggetto "Image" i dati dell'immagine della mappa mostrata dalla "MapView": With MapView1 im = .Map.Grab(.Map.GetTile("GoogleMap").MaxBounds(.Map.Center, .Map.Center), .W, .H, 0, .Map.Zoom) End With im.Save("/tmp/prova.png", 100) End