【发布时间】:2018-12-05 18:33:38
【问题描述】:
我想制作一个需要精确到大约 1m 或更短位置的 Android 应用。 “融合位置管理器 API”是否足够好,或者 GPS 永远不会如此准确,无论是否与其他传感器融合? 如果是这样,有人知道在智能手机上获取更准确位置的方法吗?
谢谢!
【问题讨论】:
标签: java android locationmanager
我想制作一个需要精确到大约 1m 或更短位置的 Android 应用。 “融合位置管理器 API”是否足够好,或者 GPS 永远不会如此准确,无论是否与其他传感器融合? 如果是这样,有人知道在智能手机上获取更准确位置的方法吗?
谢谢!
【问题讨论】:
标签: java android locationmanager
由于电池/数据消耗,不建议在 Android 手机中获得更高的准确性。如果这不是问题意味着您可以使用以下代码
Integer gpsFreqInMillis = 1000;
Integer gpsFreqInDistance = 1; // in meters
locationManager.addGpsStatusListener(this);
locationManager.requestLocationUpdates(gpsFreqInMillis, gpsFreqInDistance, criteria, this, null);
【讨论】:
之前已经讨论过 Fused Location Provider 是否是一个不错的选择(该问题的答案是肯定的)。您可以在此处找到该帖子:Is Fused Location Provider good choice?
也许这就是你要找的东西:Android's most accurate Location API
希望这会有所帮助!
【讨论】:
对于 GPS 3m 最大见 https://gis.stackexchange.com/questions/43617/what-is-the-maximum-theoretical-accuracy-of-gps 它不会比这更好。那是在外面,远离任何建筑物。
所有其他传感器都不太准确。如果您随着时间的推移进行多次测量并将它们平均(仅适用于静止设备),也许您可以获得更好的准确性。
使用Fused Location Provider使用的wifi rtt(严格来说不是传感器)https://www.gpsworld.com/how-to-achieve-1-meter-accuracy-in-android/可以获得非常好的结果
【讨论】: