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...")
 
 
(20 versioni intermedie di uno stesso utente non sono mostrate)
Riga 3: Riga 3:
 
<BR>- l'angolo di declinazione rispetto all'asse della latitudine di tale punto;
 
<BR>- l'angolo di declinazione rispetto all'asse della latitudine di tale punto;
 
<BR>- la distanza tra il punto iniziale e il punto da individuare;
 
<BR>- la distanza tra il punto iniziale e il punto da individuare;
<BR>si dovrà utilizzare il Metodo "''.From( )''" della Classe ''MapPoint''.
+
<BR>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):
+
Vediamo un esempio <SUP>&#091;[[#Note|nota 1]]&#093;</sup> (basterà cliccare una sola volta con il tasto destro del mouse, per vedere individuato sulla ''MapView'' il secondo punto):
  '''Public''' Sub Form_Open()
+
  Public Sub Form_Open()
 
    
 
    
   MapView1.Map.AddTile("GoogleMap", "https&#058;//khms{s}.google.it/kh/v={version}&src=app&x={x}&y={y}&z={z}&s=Galile", ["version": "859"]).SubDomains = ["0", "1", "2"]
+
   MapView1.Map.AddTile("GoogleMap", "https&#058;//khms{s}.google.it/kh/v={version}&src=app&x={x}&y={y}&z={z}&s=Galile", ["version": "979"]).SubDomains = ["0", "1", "2"]
 
    
 
    
  '''End'''
+
  End
 
   
 
   
 
   
 
   
  '''Public''' Sub MapView1_MouseUp()
+
  Public Sub MapView1_MouseUp()
 
    
 
    
 
   Dim pt As New Point(Mouse.X, Mouse.Y)
 
   Dim pt As New Point(Mouse.X, Mouse.Y)
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
 
  <FONT Color=gray>' ''Per disegnare il punto finale:''</font>
 
  <FONT Color=gray>' ''Per disegnare il punto finale:''</font>
    .Map.AddShape("punto").AddPoint("punto", mmpp[mmpp.Max], Color.Red, Null)
+
      .Map.AddShape("punto").AddPoint("punto", mmpp[mmpp.Max], Color.Red, Null)
 
  <FONT Color=gray>' ''Per disegnare la linea congiungente i due punti:''</font>
 
  <FONT Color=gray>' ''Per disegnare la linea congiungente i due punti:''</font>
    .Map.AddShape("polyline").AddPolyLine("polyline", mmpp, Color.Red, 2, 4)
+
      .Map.AddShape("polyline").AddPolyLine("polyline", mmpp, Color.Red, 2, 4)
    .Refresh()
+
      .Refresh()
    .Map.Refresh()
+
      .Map.Refresh()
 
     End With   
 
     End With   
 
   Endif
 
   Endif
 
    
 
    
  '''End'''
+
  End
 +
 
 +
 
 +
 
 +
=Note=
 +
[1] Qualora la mappa non appaia, verificare la versione GoogleMap, ed eventualmente modificarla in questa parte del codice: ["version": "979"]
 +
<BR>Al riguardo vedere: [[Conoscere la versione più recente di Google Maps satellite]]

Versione attuale delle 18:29, 2 mag 2024

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 [nota 1] (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": "979"]).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


Note

[1] Qualora la mappa non appaia, verificare la versione GoogleMap, ed eventualmente modificarla in questa parte del codice: ["version": "979"]
Al riguardo vedere: Conoscere la versione più recente di Google Maps satellite