我在这里按照指南进行操作。
当一切都完成后(我创建Geofence
并把它放在地图上),如果我进入Geofence
导航到它的区域或在我的位置上创建它,什么都不会发生。
该OnGeofenceStateChanged
事件没有被调用,所以我不知道如何管理进入Geofence
区域事件。
我做错了什么?
代码
private void DrawLOCNAME(double lat, double lon, string LOCNAME)
{
// Set the fence ID.
string fenceId = "LOCNAME";
// Define the fence location and radius.
BasicGeoposition position;
position.Latitude = lat;
position.Longitude = lon;
position.Altitude = 0.0;
// Set a circular region for the geofence.
Geocircle geocircle = new Geocircle(position, 2000);
// Set the monitored states.
MonitoredGeofenceStates monitoredStates =
MonitoredGeofenceStates.Entered |
MonitoredGeofenceStates.Exited |
MonitoredGeofenceStates.Removed;
// Set how long you need to be in geofence for the enter event to fire.
TimeSpan dwellTime = TimeSpan.FromSeconds(1);
//non so se è giusto ssettarlo a zero così
TimeSpan duration = TimeSpan.FromDays(1);
// Set up the start time of the geofence.
DateTimeOffset startTime = DateTime.Now;
// Create the geofence.
Geofence geofence = new Geofence(fenceId, geocircle, monitoredStates, false, dwellTime, startTime, duration);
// Register for state change events.
GeofenceMonitor.Current.GeofenceStateChanged += OnGeofenceStateChanged;
//GeofenceMonitor.Current.StatusChanged += OnGeofenceStatusChanged;
// Center the map over the POI.
Mappe.Center = snPoint;
//Mappe.ZoomLevel = 14;
}
public async void OnGeofenceStateChanged(GeofenceMonitor sender, object args)
{
var reports = sender.ReadReports();
//BLABLABLA IS NOT IMPORTANT
------->I'M NOT ABLE TO ENTER HERE<-------
}