Я пытаюсь получить координаты моего местоположения, но отладчик никогда не выходит за пределы var myPosition = await locator.GetPositionAsync();
.Отладчик никогда не попадает в строки, в которых значениям с плавающей запятой lat
и lon
назначены значения.
Я не получаю сообщение об ошибке, он просто зависает, и единственный способ отменить это остановить отладку.Вот код:
private static async Task<string> GetPosition()
{
var locator = CrossGeolocator.Current;
locator.DesiredAccuracy = 50;
var myPosition = await locator.GetPositionAsync();
float lat = myPosition.Latitude;
float lon = myPosition.Longitude;
return string.Empty;
}
public MainPage()
{
InitializeComponent();
var position = GetPosition().Result;
//Everything else
}
Почему отладчик не проходит мимо var myPosition = await locator.GetPositionAsync();
?Я предполагаю, что это связано с асинхронным вызовом await
, но я не знаю, как это исправить.
Я пытался var myPosition = await locator.GetPositionAsync().ConfigureAwait(false);
, потому что он решил аналогичную проблему, но отладчик все еще невыйти за пределы GetPositionAsync
.