gpt4 book ai didi

c# - 从 xamarin 中获取经纬度的时间

转载 作者:太空宇宙 更新时间:2023-11-03 12:18:58 24 4
gpt4 key购买 nike

在我的 xamarin Form PCL 应用程序中,我想获取当前的纬度和经度。我正在使用 Plugin.Geolocator; 有时需要很长时间才能获取设备的纬度和经度。我的应用程序拥有使用设备位置的完全权限。下面是我的代码,您能告诉我哪里做错了,或者我需要对代码进行哪些更改才能更快地获取纬度和经度。

            string Latitude = "", Longitude = "";
var locator = CrossGeolocator.Current;
locator.DesiredAccuracy = 50;
if (locator.IsGeolocationAvailable && locator.IsGeolocationEnabled)
{
var position = await locator.GetPositionAsync();
Latitude = Convert.ToString(position.Latitude);
Longitude = Convert.ToString(position.Longitude);
}

最佳答案

我宁愿先检查是否有缓存位置,如果没有则获取新位置。

try {
var locator = CrossGeolocator.Current;
locator.DesiredAccuracy = 100;

//Check if we have a cached position
var loc = await locator.GetLastKnownLocationAsync();
if (loc != null) {
CurrentPosition = new Position(loc.Latitude, loc.Longitude);
return;
}

if (!locator.IsGeolocationAvailable || !locator.IsGeolocationEnabled) {
await DisplayAlert ("Location not available", "Ok");
return;
}

//and if not we get a new one
var def = await locator.GetPositionAsync(TimeSpan.FromSeconds(10), null, true);
CurrentPosition = new Position(def.Latitude, def.Longitude);
}
catch (Exception e)
{
Debug.WriteLine("GetCurrentLocation error: " + e);
}

关于c# - 从 xamarin 中获取经纬度的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48338851/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com