我尝试使用Windows Phone 8.1中的地理定位功能,当模拟的Windows Phone在"英语(美国)"上进行区域设置时,它可以正常工作,但我的应用主要针对的是法国人,当我尝试使用区域设置(默认情况下在我的计算机上)"法语(法国)"经度和纬度值是无关紧要的,因为它们是四舍五入的。
我的代码:
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",但这些值的解析超出了我的范围,变成了密封函数)。 所以我试图在应用程序中以多种方式更改区域格式,但现在没有任何作用。
有人知道解决方法吗? (我在网上发现了一些与德国开发者类似的案例,但我并没有真正找到解决方案......)
答案 0 :(得分:0)
由于您指出此问题发生在您的模拟器而非实际手机上,因此您应该检查系统设置。
我曾经在我的开发机器上遇到很多关于WP地理定位功能的问题,现在正在使用十进制分组的“英语”标准化来防止这些问题。
有一篇文章解释了如何进行设置(这很容易,但缺点是它也会影响系统中所有数字的显示,例如Office ..):
http://dotnetbyexample.blogspot.de/2014/05/windows-phone-emulatorunable-to-create.html