奇怪的 GPS 纬度值

Posted

技术标签:

【中文标题】奇怪的 GPS 纬度值【英文标题】:Weird GPS latitude values 【发布时间】:2015-07-02 09:30:43 【问题描述】:

应用程序收集用户的 gps 位置,有时坐标没有小数位,但它仅适用于纬度。例如:

隆; -0.047041704120082115;纬度; 40.0 lon -2.5132747513111577;纬度; 56.0

我以为是double到int的某种类型转换造成的,但是我仔细检查了所有的代码,没有任何类型转换的地方。

这是否可能是 GPS 返回的值恰好为 0,没有任何小数位,或者它必须在我的代码中出现问题?也许用户在嘲笑位置,这就是原因?

【问题讨论】:

你用的是模拟器还是真机? 真实设备。我从真实用户那里获取这些数据,而不是从我的设备中获取。 你能把代码贴出来吗……你怎么拉长了…… LocationManager locationManager = (LocationManager) context .getSystemService(Context.LOCATION_SERVICE);位置 location = locationManager .getLastKnownLocation(LocationManager.NETWORK_PROVIDER);双纬度 = location.getLatitude(); 如果它是一个真实的设备,要么是你的应用程序中的一个错误,(不太可能)要么是一个模拟的位置。肯定不是真人,发现后请及时更新。 【参考方案1】:

这可能是 GPS 返回的值恰好为 0,而没有任何 小数位数还是我的代码中有问题?

实际上这永远不会发生。如果您多次获得这样的值,比如说一万个案例,那么可以肯定原因是错误、测试数据、模拟或类似的。

【讨论】:

以上是关于奇怪的 GPS 纬度值的主要内容,如果未能解决你的问题,请参考以下文章

ublox GPS奇怪的人物穿插着NMEA输出

GPS 将 16 位十六进制值转换为经度和纬度

为啥在 iOS 上 EXIF GPS 坐标会被截断?

如何同时使用 GPS 和网络提供商在 Android 中获取当前位置的纬度和经度值

如何在目标c中将gps北和gps西转换为纬度/经度

棒棒糖和棉花糖 gps 问题无法获取经度和纬度值,但在 21 以下的 api 上工作的代码相同