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
.
时,您应该注意到速度有显着差异
我有 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
.