问题描述
我的Xamarin UWP项目中的CrossGeolocator返回错误的当前位置。返回给我的位置是明尼苏达州的莱克维尔。但是我离它很远。这是代码:
var locator = CrossGeoLocator.Current;
locator.DesiredAccuracy = 100;
var position = await locator.GetPositionAsync(TimeSpan.FromSeconds(20),null,true);
问题出在哪里?有什么建议吗?
谢谢!
解决方法
Xamarin UWP项目中的CrossGeolocator返回错误的当前位置
如果您的设备不包含GPS传感器,则CrossGeoLocator
api将优先获取具有IP地址的当前位置。如果您的本地网络使用VPN代理,则会导致地图根据代理的ip地址找到相应的位置,这会使位置与实际位置产生偏差。
但是现在我无法在没有VPN的情况下尝试工作。
如果您不能使用禁用vpn。更好的方法是将GPS sensor添加到设备中。它具有更高的优先级。