这是在 iPhone 6s 上的 iOS 12.1.4 上。通常Geolocation.GetLastKnownLocationAsync()
有效,但有时无效。这是完全相同的代码,但如果我坐在这里并一遍又一遍地按下我的“获取纬度和经度”按钮,最终会Geolocation.GetLastKnownLocationAsync()
吐出一个空值。
您知道为什么会发生这种情况以及我将如何处理吗?也许把它放在一个尝试十次的循环中,每次尝试之间等待一秒钟?
var location = await Essentials.Geolocation.GetLastKnownLocationAsync(); // works most of the time but sometimes it doesn't work.
这是我建议的解决方法:
Essentials.Location location = null;
for(var i = 0; i < 10; i++)
{
location = await Essentials.Geolocation.GetLastKnownLocationAsync();
if(location == null)
{
Thread.Sleep(1000);
}
else
{
break;
}
}