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
Usare le navigation property in QuickGrid di Blazor
Gestire i dati con Azure Cosmos DB Data Explorer
Gestione degli eventi nei Web component HTML
Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione
Utilizzare Azure Cosmos DB con i vettori
Supportare la sessione affinity di Azure App Service con Application Gateway
Utilizzare Container Queries nominali
Eseguire query per recuperare il padre di un record che sfrutta il tipo HierarchyID in Entity Framework
Gestione file Javascript in Blazor con .NET 9
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Potenziare la ricerca su Cosmos DB con Full Text Search