Differenze tra le versioni di "Individuare su una MapView un punto geografico avendo un punto iniziale, l'angolo di declinazione e la distanza"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "Per individuare su una ''MapView'' un punto geografico avendo: <BR>- l'Oggetto del punto iniziale; <BR>- l'angolo di declinazione rispetto all'asse della latitudine di tale pu...")
 
Riga 23: Riga 23:
 
       mmpp.Push(.Map.PixelToMapPointRel(pt))
 
       mmpp.Push(.Map.PixelToMapPointRel(pt))
 
  <FONT Color=gray>' ''Per individuare il secondo punto (finale):''</font>
 
  <FONT Color=gray>' ''Per individuare il secondo punto (finale):''</font>
     mmpp.Push(MapPoint.From(mmpp[mmpp.Max], 47.83, 2181.969))
+
     mmpp.Push(MapPoint.<FONT Color=#B22222>From</font>(mmpp[mmpp.Max], 47.83, 2181.969))
 
  <FONT Color=gray>' ''Mostra le coordinate geografiche del secondo punto (finale):''</font>
 
  <FONT Color=gray>' ''Mostra le coordinate geografiche del secondo punto (finale):''</font>
 
     Print mmpp[mmpp.Max].lat, mmpp[mmpp.Max].Lon
 
     Print mmpp[mmpp.Max].lat, mmpp[mmpp.Max].Lon

Versione delle 02:22, 17 dic 2019

Per individuare su una MapView un punto geografico avendo:
- l'Oggetto del punto iniziale;
- l'angolo di declinazione rispetto all'asse della latitudine di tale punto;
- la distanza tra il punto iniziale e il punto da individuare;
si dovrà utilizzare il Metodo ".From( )" della Classe MapPoint.

Vediamo un esempio (basterà cliccare una sola volta con il tasto destro del mouse, per vedere individuato sulla MapView il secondo punto):

Public Sub Form_Open()
 
 MapView1.Map.AddTile("GoogleMap", "https://khms{s}.google.it/kh/v={version}&src=app&x={x}&y={y}&z={z}&s=Galile", ["version": "859"]).SubDomains = ["0", "1", "2"]
 
End


Public Sub MapView1_MouseUp()
 
 Dim pt As New Point(Mouse.X, Mouse.Y)
 Dim mmpp As New MapPoint[]
 
 If Mouse.Right Then
   With MapView1
' Per individuare il primo punto (iniziale):
     mmpp.Push(.Map.PixelToMapPointRel(pt))
' Per individuare il secondo punto (finale):
   mmpp.Push(MapPoint.From(mmpp[mmpp.Max], 47.83, 2181.969))
' Mostra le coordinate geografiche del secondo punto (finale):
   Print mmpp[mmpp.Max].lat, mmpp[mmpp.Max].Lon
' Per disegnare il punto finale:
   .Map.AddShape("punto").AddPoint("punto", mmpp[mmpp.Max], Color.Red, Null)
' Per disegnare la linea congiungente i due punti:
   .Map.AddShape("polyline").AddPolyLine("polyline", mmpp, Color.Red, 2, 4)
   .Refresh()
   .Map.Refresh()
   End With  
 Endif
  
End