当前位置:  开发笔记 > 编程语言 > 正文

CrossGeolocator的GetPositionAsync不起作用

如何解决《CrossGeolocator的GetPositionAsync不起作用》经验,为你挑选了1个好方法。

我正在使用CrossGeolocator来检索设备的当前纬度和经度.但是我在OnAppearing覆盖方法中使用它并且它无法正常工作.该GetPositionAsync方法挂起的应用程序.

 protected override void OnAppearing()
 {
     base.OnAppearing();

     var position = GetPosition().Result;
     var lat = position.Latitude;
     var lon = position.Longitude;
 }

 private static async Task GetPosition()
 {
     var locator = CrossGeolocator.Current;
     locator.DesiredAccuracy = 50;

     var position = await locator.GetPositionAsync(10000);
     return position;
 }

细节是我在应用程序的按钮中使用相同的GetPosition方法并且工作得很好.

有人可以帮我解决这个问题吗?



1> Pedro Franco..:

尝试这个:

创建一个全局变量:

private Position _position;

然后调用ur方法以获取构造函数上的位置。像这样重写ur方法:

public async void GetPosition()
{
    var locator = CrossGeolocator.Current;
    locator.DesiredAccuracy = 50;
    var myPosition = await locator.GetPositionAsync();
    _position = new Position(myPosition.Latitude, myPosition.Longitude);
}

然后在您要使用的地方做一会儿:

while(_position == new Postion(0,0))
      GetPosition();

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有