请求具有最低准确度要求的地理定位

时间:2013-11-21 13:30:02

标签: android geolocation gps ip-geolocation

假设我必须使用一个提供商,比如 GPS 。我有一个最低准确度要求,我需要一个满足它的单个信号。什么是最佳实践?

我正在做的是调用“requestLocationUpdates”来获取连续的位置,然后检查每个位置的准确性,最后在我得到一个好的时候调用“removeUpdates”。

我应该在 minTime minDistance 设置为0的情况下执行此操作,因为准确性随机性足够吗?或者我应该为它设置一些特殊值,因为根据GPS的性质,除非我离开(例如从建筑物?)或者我给它时间(比如随机大气条件或卫星位置),它可能会继续给我相似的准确度更改?)?如果是这样,它会是哪个值?

注意:根据this text,GPS使用更多功率来获取修复,而不是获取位置后的位置。对我来说意味着“ requestSingleUpdate ”对准确性要求不好。这是对的吗?

如果您使用的是 NETWORK ,它会以同样的方式运作吗?

1 个答案:

答案 0 :(得分:0)

在您的情况下,只有解决方案有效:

仅将提供商设置为GPS,将时间和精度设置为最佳(0), 并决定自己,例如通过从位置读取属性estimatedAccuracy。

确实如此,初始定位需要最大功率,因此每20秒启用和禁用GPS是没有意义的。不幸的是,我不知道在临时禁用GPS时,以分钟为单位的阈值是节省电池的地方。

目前只有在区分GPS(3-6m)和网络(GSM小区:1000m)之间的准确性才有意义.WLAN有时会优于GSM小区定位,但通常不可用,并且不太可靠。 如果您,为了您的应用程序决定您需要更多或更少的精确位置,那么准确度要求,除了"最佳"毫无意义。