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.
Riga 6: | Riga 6: | ||
Vediamo un esempio <SUP>[[[#Note|nota 1]]]</sup> (basterà cliccare una sola volta con il tasto destro del mouse, per vedere individuato sulla ''MapView'' il secondo punto): | Vediamo un esempio <SUP>[[[#Note|nota 1]]]</sup> (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": " | + | MapView1.Map.AddTile("GoogleMap", "https://khms{s}.google.it/kh/v={version}&src=app&x={x}&y={y}&z={z}&s=Galile", ["version": "958"]).SubDomains = ["0", "1", "2"] |
− | + | End | |
− | + | Public Sub MapView1_MouseUp() | |
Dim pt As New Point(Mouse.X, Mouse.Y) | Dim pt As New Point(Mouse.X, Mouse.Y) | ||
Riga 35: | Riga 35: | ||
Endif | Endif | ||
− | + | End | |
Versione delle 08:19, 24 set 2023
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": "958"]).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": "949"]
Al riguardo vedere: Conoscere la versione più recente di Google Maps satellite