Individuare su una MapView un punto geografico avendo un punto iniziale, l'angolo di declinazione e la distanza
Da Gambas-it.org - Wikipedia.
Versione del 17 dic 2019 alle 02:22 di Vuott (Discussione | contributi)
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