|
|
(7 versioni intermedie di uno stesso utente non sono mostrate) |
Riga 1: |
Riga 1: |
− | Mostriamo di seguito un possibile codice, ampiamente commentato, per far apparire un ''Balloon'' sulla ''MapView'' se il puntatore del mouse è all'interno di una determinata area quadrata (ma potrebbe essere anche rettangolare) prestabilita della mappa.
| + | #REDIRECT [[Sapere_sulla_MapView_se_il_puntatore_del_mouse_è_all'interno_di_una_determinata_area_della_mappa]] |
− | Private mp1 As New MapPoint(41.891095, 12.491366) <FONT Color=gray>' ''Le coordinate geografiche del vertice in alto a sinistra dell'area''</font>
| |
− | Private Const LATO As Byte = 30 <FONT Color=gray>' ''La dimensione che assumerà ciascun lato dell'area''</font>
| |
− | Private rct As Rect
| |
− |
| |
− |
| |
− | '''Public''' Sub Form_Open()
| |
− |
| |
− | With MapView1.Map
| |
− | .AddTile("GoogleMap", "https://mt0.google.com/vt/lyrs=s&hl=&x={x}&y={y}&z={z}")
| |
− | .Zoom = 15
| |
− | <FONT Color=gray>' ''Imposta il centro della mappa mostrata all'inizio:''</font>
| |
− | .Center = mp1
| |
− | End With
| |
− |
| |
− | '''End'''
| |
− |
| |
− | <FONT Color=gray>' ''Fa sì che l'Oggetto "Rect" acquisisca dall'Oggetto "Map" le coordinate in pixel (.X e .Y) dalle coordinate geografiche fissate per il punto geografico che sarà interessato dal "Ballon".''
| |
− | ' ''Se l'istruzione viene posta invece all'interno di un Evento del "Form", l'Oggetto "Rect" non acquisirà le predette coordinate.''</font>
| |
− | '''Public''' Sub MapView1_Draw()
| |
− |
| |
− | With MapView1.Map
| |
− | <FONT Color=gray>' ''Imposta l'area (in tal caso un quadrato immaginario), che determinerà l'apparizione del "Balloon", qualora il puntatore del mouse dovesse capitarvi all'interno:''</font>
| |
− | rct = Rect(.MapPointToPixelRel(mp1).X, .MapPointToPixelRel(mp1).Y, LATO + ((20 * .Zoom) / 15), LATO + ((20 * .Zoom) / 15))
| |
− | End With
| |
− |
| |
− | '''End'''
| |
− |
| |
− | '''Public''' Sub MapView1_MouseMove()
| |
− |
| |
− | Dim pt As New Point(Mouse.X, Mouse.Y)
| |
− | Dim mp2 As MapPoint = MapView1.Map.PixelToMapPointRel(pt)
| |
− | <FONT Color=gray>' '''''Per verificare se il puntatore del mouse è entrato nell'area prestabilita, bisogna tenere conto delle "coordinate geografiche" sulla mappa, e NON delle coordinate X e Y della "MapView":'''''</font>
| |
− | Dim x As Short = MapView1.Map.MapPointToPixelRel(mp2).X
| |
− | Dim y As Short = MapView1.Map.MapPointToPixelRel(mp2).Y
| |
− |
| |
− | Me.Text = Format(mp2.Lat, "#.000000") & " " & Format(mp2.Lon, "#.000000")
| |
− |
| |
− | <FONT Color=gray>' ''Se il puntatore del mouse è all'interno dell'area stabilita, viene mostrato in quel punto un "Balloon":''</font>
| |
− | If rct.Contains(x, y) Then
| |
− | Balloon.Info("Anfiteatro Flavio (Colosseo)", MapView1, x, y)
| |
− | Else
| |
− | Balloon.Hide
| |
− | Endif
| |
− |
| |
− | '''End'''
| |