Xamarin 表单获取当前位置需要更多时间

Xamarin forms get current location take more time

我有 xamarin 表单应用程序并具有捕获当前用户位置的功能,并且我使用 CrossGeolocator PLugin
以及获取位置的这些代码部分:

   locator = CrossGeolocator.Current;
   var position = await locator.GetPositionAsync();
   order.@long = position.Longitude;
   order.lat = position.Latitude;

它的 return 位置,但有时需要更多时间才能到达 return 当前位置 有没有减少位置捕获时间的解决方案。 谢谢

如果你想加快这个过程 - 使用 Xamarin.Essentials。 Xamarin.Essentials 提供了一种获取用户位置的极好方法,与使用 Geolocator 插件相比,更快。不仅如此 - Xamarin.Essentials 经过良好测试并得到 Microsoft 本身的支持。

首先将以下代码粘贴到您的 AndroidManifest.xml 文件中:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-feature android:name="android.hardware.location" android:required="false" />
<uses-feature android:name="android.hardware.location.gps" android:required="false" />
<uses-feature android:name="android.hardware.location.network" android:required="false" />

这是获取用户的经纬度的示例 - 您可以根据您的项目调整以下代码:

var position = await Xamarin.Essentials.Geolocation.GetLocationAsync();

            double latitude = position.Latitude;

            double longitude = position.Longitude;

有关 GeoLocation 的更多信息,请转到 https://docs.microsoft.com/en-us/xamarin/essentials/geolocation?tabs=android

当您使用 Xamarin.Essentials.

时,您应该注意到速度有显着差异