Abbiamo introdotto l'uso del Bing Maps SDK per usare la mappe di Bing nelle Windows Store app in un precedente articolo:
https://www.winrtitalia.com/articoli/windows8/bing-maps-sdk-winrt-windows8.aspx
In WinRT possiamo aggiungere un'ulteriore funzionalità alle nostre mappe tracciando la posizione dell'utente, per visualizzarla anche direttamente su una mappa Bing.
Per questa operazione abbiamo a disposizione l'oggetto Geolocator e il suo evento PositionChanged.
private Pushpin _pin; private Geolocator _geolocator; public MainPage() { this.InitializeComponent(); _pin = new Pushpin(); map.Children.Add(_pin); _geolocator = new Geolocator(); _geolocator.PositionChanged += (Geolocator sender, PositionChangedEventArgs args) => { this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, new DispatchedHandler( () => { var location = new Location(args.Position.Coordinate.Latitude, args.Position.Coordinate.Longitude); MapLayer.SetPosition(_pin, location); map.SetView(location, 15.0f); })); }; }
Come possiamo vedere dallo snippet, il suo uso è molto semplice: l'evento PositionChanged si scatena automaticamente quando viene recuperata la posizione, senza la necessità di dichiarare un metodo di inizializzazione. I parametri passati all'event handler contengono proprio le informazioni di latitudine e longitudine, che possiamo utilizzare per passarle alla mappa.
Per poter tracciare la posizione dobbiamo aggiungere Location tra le capabilities gestibili nel manifest; al primo avvio dell'applicazione viene chiesta conferma all'utente, per consentire all'app di tracciarne la posizione, con una finestra modale visibile in figura.

Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare gli snapshot con Azure File shares
Usare Refit e Polly in Blazor per creare client affidabili e fortemente tipizzati
Definire lo stile CSS in base alle dimensioni del container
Sfruttare i tag nell'output cache di ASP.NET Core 7
Installare le Web App site extension tramite una pipeline di Azure DevOps
Modernizzare le applicazioni WPF e Windows Forms con Blazor
Creare moduli CSS in React
Utilizzo di Map e Object in Javascript
Utilizzare l'attributo autofill del CSS
Montare blob e file share su Azure App Service
Creare attributi generici in C#
Utilizzare la parola chiave nameof per referenziare i nomi dei parametri di un metodo in C#
I più letti di oggi
- Usare un KeyedService di default in ASP.NET Core 8
- .NET Conference Italia 2023 - Milano e Online
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Registrare servizi multipli tramite chiavi in ASP.NET Core 8
- Creare dei grafici con OWC
- Ottimizzare le prestazioni di ASP.NET Core con la Cache distribuita su SQL Server