在我的xamarin-App中我需要Geofencing。
我正在使用GeoLocatorPlugin。
有没有办法在运行时(开始监听后)影响参数“minDistance”?
await StartListeningAsync(TimeSpan.FromSeconds(5), "minDistance");
背景:我想根据给定的“兴趣点”(它们与用户位置的距离)优化“位置更新(变化)”的间隔。
问候和提前thx。
我目前通过网络服务得到时间和距离(我现在不是你的情况,但你可以做一些非常类似的事情),我这样保存(设备的本地存储):
dynamic obj = JsonConvert.DeserializeObject<Rootobject>(responseString);
Application.Current.Properties["gps_distancia"] = obj.rssUser.gps_distancia;
Application.Current.Properties["gps_tempo"] = obj.rssUser.gps_tempo;
然后我调用来自webservice的存储时间和距离,并保存在设备中:
int tempoWebService = Int32.Parse(Application.Current.Properties["gps_tempo"].ToString());
int distanciaWebService = Int32.Parse(Application.Current.Properties["gps_distancia"].ToString());
await CrossGeolocator.Current.StartListeningAsync(TimeSpan.FromSeconds(tempoWebService), distanciaWebService, true, new Plugin.Geolocator.Abstractions.ListenerSettings
{
ActivityType = Plugin.Geolocator.Abstractions.ActivityType.AutomotiveNavigation,
AllowBackgroundUpdates = true,
DeferLocationUpdates = true,
DeferralDistanceMeters = 1,
DeferralTime = TimeSpan.FromSeconds(1),
ListenForSignificantChanges = true,
PauseLocationUpdatesAutomatically = false
});