Xamarin.Forms - 地理定位器耗时太长

时间:2017-12-09 17:23:04

标签: xamarin.forms geolocation visual-studio-2017

我试图将相机移动到当前用户的位置。

我可以在地图上看到代表我当前位置的蓝点。

现在,我必须移动相机才能到达那里(看到它),我希望在显示地图时相机自动移动到该位置。

我正在使用该插件: Xam.Plugin.Geolocator。

但是当我试图将相机移动到当前位置时,应用程序会挂起。它不会崩溃,它不会引发任何异常,它只是试图异步获取位置,但它花费了太多时间。

这是我正在使用的代码:

public partial class MenuInitialDetailPage : ContentPage
    {
        public IGeolocator mLocator { get; set; }

        public MenuInitialDetailPage()
        {
            InitializeComponent();


            mLocator = CrossGeolocator.Current;

            Plugin.Geolocator.Abstractions.Position currentPosition = mLocator.GetPositionAsync(TimeSpan.FromSeconds(10000), null, true).Result;
            locationMap.MoveToRegion(MapSpan.FromCenterAndRadius(new Xamarin.Forms.Maps.Position(currentPosition.Latitude, currentPosition.Longitude), Distance.FromMiles(1)));
        }
    }

1 个答案:

答案 0 :(得分:0)

在通话结束时删除.Result,您正在阻止UI。