Ottenere un file png dalla mappa mostrata da una MapView
Da Gambas-it.org - Wikipedia.
Possiamo ottenere un file di formato PNG dalla mappa mostrata da una MapView [nota 1], usando anche le risorse del Componente gb.media.
Mostriamo un esempio pratico (è necessario attivare anche i Componenti gb.map e gb.media ):
Private MapView1 As MapView Public Sub Form_Open() Dim mp As New MapPoint(41.89030, 12.49237) With Me .W = Screen.AvailableWidth .H = Screen.Height * 0.9 .Arrangement = Arrange.Fill End With With MapView1 = New MapView(Me) As "MapView1" .Map.AddTile("GoogleMap", "https://mt0.google.com/vt/lyrs=s&hl=&x={x}&y={y}&z={z}") .Map.Zoom = 15 .Map.Center = mp End With End Public Sub MapView1_MouseUp() ' Se si clicca sulla "MapView" con il tasto destro del mouse, si avvierà la procedura per ottenere il file PNG: If Not Mouse.Right Then Return Dim pl As MediaPipeline Dim src, con, png, snk As MediaControl pl = New MediaPipeline src = New MediaControl(pl, "ximagesrc") src["xid"] = MapView1.Id ' Assegna il numero identificativo della "MapView", della quale si otterrà il file PNG con = New MediaControl(pl, "videoconvert") png = New MediaControl(pl, "pngenc") snk = New MediaControl(pl, "filesink") snk["location"] = "/tmp/immagine_mappa.png" src.LinkTo(con) con.LinkTo(png) png.LinkTo(snk) ' Crea il file PNG e poi chiude il flusso di dati: pl.Play() pl.Stop() pl.Close End
Note
[1] Vedere anche: Ottenere una Image dalla mappa mostrata da una MapView