我尝试使用 Windows Phone 8.1 中的地理定位功能,当模拟的 Windows Phone 的区域设置为“英语(美国)”时它可以工作,但我的应用程序主要针对法国人,当我尝试使用区域设置时(默认在我的电脑上)“French(法国)”的经度和纬度值无关紧要,因为它们是四舍五入的。
我的代码:
Geolocator watcher = new Geolocator();
watcher.DesiredAccuracy = PositionAccuracy.High;
Geoposition position = await watcher.GetGeopositionAsync();
double lat = position.Coordinate.Point.Position.Latitude;
double lon = position.Coordinate.Point.Position.Longitude;
使用“英语(美国)”的区域设置,lat 和 lon 得到像“48.12345”这样的值,当我保持默认/“法语(法国)”区域设置时,它们得到“48.0”(并且这些值已经不正确进入观察者对象)。
我实际上尝试了很多东西(我怀疑小数点分隔符有罪,也许地理定位模拟器发送了像“48,12345”这样的值,但是这些值的解析超出了我的范围,进入了密封函数)。因此,我尝试通过多种方式更改应用程序中的区域格式,但目前没有任何效果。
有人知道解决方法吗?(我在互联网上发现了一些与德国开发人员类似的案例,但我并没有真正找到解决方案......)