Individuare i valori x e y della tessera sulla quale si è cliccato

Da Gambas-it.org - Wikipedia.

Le mappe-tile sono costituite da tessere (tile) identificate da un valore x, crescente spostandosi a est, e un valore y, crescente spostandosi a sud. Tali valori sono anche riportati nei file caricati per comporre la mappa.

Per conoscere i due valori identificativi della tessera, sulla quale si è cliccato con il mouse nella mappa, è necessario usare il Metodo "MapPointToTile()" della Classe Geo del Componente gb.map . [nota 1]

Esempio: [nota 2]

Private MapView1 As MapView


Public Sub Form_Open()

 With Me
   .W = Screen.AvailableWidth
   .H = Screen.AvailableHeight
   .Arrangement = Arrange.Fill
 End With

 With MapView1 = New MapView(Me) As "MapView1"
   .Map.AddTile("GoogleMap", "http://mt0.google.com/vt/lyrs=s&hl=&x={x}&y={y}&z={z}")
   .Map.Center = MapPoint(41.8903, 12.49226)
   .Map.Zoom = 14
 End With

End


Public Sub MapView1_MouseUp()

 Dim pt As New Point(Mouse.X, Mouse.Y)
 Dim tl As Point

 tl = Geo.MapPointToTile(MapView1.Map.PixelToMapPointRel(pt), MapView1.Map.Zoom)

 Me.Text = "Tessera: " & tl

End


Note

[1] Vedere anche la seguente pagina: Verificare le tessere dei livelli delle Map tiles

[2] Vedere anche la seguente pagina: Usare il Metodo .AddPolygon di gb.map