Xamarin Forms Labs Geolocation样本

Pat*_*ode 3 android xamarin xamarin.forms

我下载了Xamarin Forms Labs的源代码,并试图为android项目运行geolocator示例.单击"获取位置"按钮时,返回的位置消息为"已取消".我尝试通过以下步骤在VS中创建一个新的xamarin表单项目:file> new project> Xamarin PCL.当我在该项目中安装xamarin表单实验室并使用它时,我收到相同的消息.但是,我可以使用Windows Phone示例.我不确定安装Xamarin的Android模拟器是否可以连接到我的机器上的网络.这可以解释为什么它无法获得该位置

Mat*_*gul 5

(这有点晚了,但只是提交,万一有人通过搜索找到了这个)

仔细检查您的平台权限.

对于Android: 您必须在Android项目中申请以下权限

  1. ACCESS_COARSE_LOCATION
  2. ACCESS_FINE_LOCATION

对于iOS: 在iOS中8你现在必须调用其中RequestWhenInUseAuthorizationRequestAlwaysAuthorization在外景经理.

此外,您需要添加简洁的名称NSLocationWhenInUseUsageDescriptionNSLocationAlwaysUsageDescription您的Info.plist.

对于Windows Phone: 您必须设置ID_CAP_LOCATION权限.

Xamarin表单 如果您正在开发Xamarin Forms应用程序,您可以尝试使用Geolocator(Xamarin.Plugin)示例,只需记住添加您的权限:)

样品:

var locator = CrossGeolocator.Current;
locator.DesiredAccuracy = 50;

var position = await locator.GetPositionAsync (timeout: 10000);

Console.WriteLine ("Position Status: {0}", position.Timestamp);
Console.WriteLine ("Position Latitude: {0}", position.Latitude);
Console.WriteLine ("Position Longitude: {0}", position.Longitude);
Run Code Online (Sandbox Code Playgroud)