1

我尝试使用 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”这样的值,但是这些值的解析超出了我的范围,进入了密封函数)。因此,我尝试通过多种方式更改应用程序中的区域格式,但目前没有任何效果。

有人知道解决方法吗?(我在互联网上发现了一些与德国开发人员类似的案例,但我并没有真正找到解决方案......)

4

1 回答 1

0

由于您指出此问题发生在您的模拟器上而不是实际手机上,因此您应该检查您的系统设置。

我的开发机器上的 WP 地理定位功能也曾经有很多问题,现在我使用十进制分组的“英语”标准化来防止这些问题。

有一篇文章解释了如何进行设置(这很容易,但缺点是它也会影响系统上所有数字的显示,例如在 Office 中..):

http://dotnetbyexample.blogspot.de/2014/05/windows-phone-emulatorunable-to-create.html

于 2015-06-14T16:24:12.927 回答