Xamarin 离线位置 我们如何通过 GPS 获取离线位置?
Xamarin Offline Location How we get Offline location through GPS?
我们如何通过 GPS 获取离线位置?
我尝试了,但是 Xam.Plugin.GeoLocator
在离线模式下失败了。
至少在 iPhone Flight Mode
禁用大部分 GPS 功能。因此对于 Offline Mode
和 Flight Mode
这实际上是正确的行为。但是,如果您单独关闭 WiFi
Cellular
和 Bluetooth
或者只是没有网络可用,GPS
应该可用。
如果这不能回答您的问题,您可能想要披露更多关于您的用例的信息、一个特定的错误,甚至是似乎在不应该失败的地方失败的代码示例。
Xaml:
<Button Text="location"
TextColor="Black"
Clicked="Button"/>
<Label Text="longi"
TextColor="Gray"
FontSize="Small"/>
<Label x:Name="longit"
FontSize="10"
TextColor="Orange"/>
<Label Text="Latitu"
TextColor="Gray"
FontSize="Small"/>
<Label x:Name="latit"
FontSize="10"
TextColor="Orange"/>
代码:
private async void Button(object sender, EventArgs e)
{
try
{
var locator = CrossGeolocator.Current;
locator.DesiredAccuracy = 50;
var post = await locator.GetPositionAsync(TimeSpan.FromSeconds(10));
longit.Text = post.Longitude.ToString();
latit.Text = post.Latitude.ToString();
}
catch (Exception ex)
{
throw ex;
}
权限:
public override void OnRequestPermissionsResult(int requestCode,
string[] permissions, Android.Content.PM.Permission[] grantResults)
{
Plugin.Permissions.PermissionsImplementation.Current.OnRequestPermissionsResult(requestCode,
permissions, grantResults);
base.OnRequestPermissionsResult(requestCode, permissions,
grantResults);
}
我们如何通过 GPS 获取离线位置?
我尝试了,但是 Xam.Plugin.GeoLocator
在离线模式下失败了。
至少在 iPhone Flight Mode
禁用大部分 GPS 功能。因此对于 Offline Mode
和 Flight Mode
这实际上是正确的行为。但是,如果您单独关闭 WiFi
Cellular
和 Bluetooth
或者只是没有网络可用,GPS
应该可用。
如果这不能回答您的问题,您可能想要披露更多关于您的用例的信息、一个特定的错误,甚至是似乎在不应该失败的地方失败的代码示例。
Xaml:
<Button Text="location"
TextColor="Black"
Clicked="Button"/>
<Label Text="longi"
TextColor="Gray"
FontSize="Small"/>
<Label x:Name="longit"
FontSize="10"
TextColor="Orange"/>
<Label Text="Latitu"
TextColor="Gray"
FontSize="Small"/>
<Label x:Name="latit"
FontSize="10"
TextColor="Orange"/>
代码:
private async void Button(object sender, EventArgs e)
{
try
{
var locator = CrossGeolocator.Current;
locator.DesiredAccuracy = 50;
var post = await locator.GetPositionAsync(TimeSpan.FromSeconds(10));
longit.Text = post.Longitude.ToString();
latit.Text = post.Latitude.ToString();
}
catch (Exception ex)
{
throw ex;
}
权限:
public override void OnRequestPermissionsResult(int requestCode,
string[] permissions, Android.Content.PM.Permission[] grantResults)
{
Plugin.Permissions.PermissionsImplementation.Current.OnRequestPermissionsResult(requestCode,
permissions, grantResults);
base.OnRequestPermissionsResult(requestCode, permissions,
grantResults);
}