Xamarin GeoLocatorPlugin在运行时更改minDistance

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Xamarin GeoLocatorPlugin在运行时更改minDistance相关的知识,希望对你有一定的参考价值。

在我的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
        });

以上是关于Xamarin GeoLocatorPlugin在运行时更改minDistance的主要内容,如果未能解决你的问题,请参考以下文章

标准代码的跨平台 GeoLocation 编译器问题

Xamarin.forms(或)xamarin.ios/xamarin.android(或)本机

Xamarin挖墙脚系列:Xamarin的核心

当 Xamarin.ios Uitest 从 Xamarin Studio 运行时,在 Xamarin 测试云上面临“停滞的错误”

Xamarin App在Xamarin更新后没有编译

Xamarin.Forms 手势密码实现