Le API di localizzazione di WinRT permettono di monitorare quando un dispositivo entra (ed esce) da determinate aree definite da oggetti Geofence.
L'area può essere definita da latitudine, longitudine, raggio e possono essere impostati tempi di permanenza oltre all'evento, se entrata o uscita, di cui essere notificati.
string id = "GeofenceId"; var position = new BasicGeoposition(); position.Latitude = 40; position.Longitude = -120; var geocircle = new Geocircle(position, 100); var mask = MonitoredGeofenceStates.Entered | MonitoredGeofenceStates.Exited; var area = new Geofence(id, geocircle, mask, false); GeofenceMonitor.Current.Geofences.Clear(); GeofenceMonitor.Current.Geofences.Add(area); GeofenceMonitor.Current.GeofenceStateChanged += (GeofenceMonitor obj, object args) => { var reports = obj.ReadReports(); Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { foreach (GeofenceStateChangeReport report in reports) { log.AppendLine(report.Geofence.Id); log.AppendLine(report.NewState.ToString()); } status.Text = log.ToString(); }); };
Tutto è gestito dall'oggetto GeofenceMonitor ed il monitoraggio inizia quando aggiungiamo un Geofence alla collezione Geofences. Grazie all'evento GeofenceStateChanged si è notificati quando l'utente entra e esce dall'area.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Creazione di componenti personalizzati in React.js con Tailwind CSS
Utilizzare Copilot con Azure Cosmos DB
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Creazione di plugin per Tailwind CSS: espandere le Funzionalità del Framework
Implementare l'infinite scroll con QuickGrid in Blazor Server
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core
Utilizzare un service principal per accedere a Azure Container Registry
Generare velocemente pagine CRUD in Blazor con QuickGrid
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
Aggiungere interattività lato server in Blazor 8
Creare una libreria CSS universale: Clip-path