Java 生成精确位置

Java 生成精确位置,java,android,geolocation,Java,Android,Geolocation,我的申请说明: 该应用程序将全天候随时随地生成用户位置。 另一个浏览用户位置的应用程序将向他显示1-10分钟的位置(我还没有决定),当然,打印的位置记录将是最准确的 我尝试过不同类型的东西,但我不能得到最准确的位置,例如一分钟。 许多人建议将一分钟作为参数发送到requestLocationUpdate,但它会每分钟生成一个位置,但我希望在该分钟内获得最准确的位置,因此我想我也会生成所有该分钟的位置,并选择最准确的位置 我遇到了很多错误,比如获取了一个城市级别的位置,这是非常糟糕的(你在纽约市的

我的申请说明: 该应用程序将全天候随时随地生成用户位置。 另一个浏览用户位置的应用程序将向他显示1-10分钟的位置(我还没有决定),当然,打印的位置记录将是最准确的

我尝试过不同类型的东西,但我不能得到最准确的位置,例如一分钟。 许多人建议将一分钟作为参数发送到requestLocationUpdate,但它会每分钟生成一个位置,但我希望在该分钟内获得最准确的位置,因此我想我也会生成所有该分钟的位置,并选择最准确的位置

我遇到了很多错误,比如获取了一个城市级别的位置,这是非常糟糕的(你在纽约市的xx:xx……我不是在寻找)。 有许多考虑因素,如电池的安全性和准确性。 我同意在位置数量上妥协(意味着每10分钟打印一次用户位置,而不是1分钟)


无论如何,我很困惑,如果有人有一个计划(而不是代码级别),我想听听如何管理该系统。

如果你在户外,GPS定位提供商应该给你米的精度。如果您使用
requestLocationUpdate
每分钟采集一次样本,就足够了

不可能“在给定的时间间隔内获取N个样本并只保留最精确的一个”,如果需要,您应该保留位置缓冲区来进行计算。无论如何,我认为在这种应用程序中不值得付出这样的努力


如果您希望在GPS+互联网连接处于活动状态的情况下,移动设备的电池寿命超过4-6小时,那么电池寿命将是一个问题。

您说服了我,在户外1分钟内生成1个位置是可以的,但当手机在室内时该怎么办?也许我需要找到我的gps提供商提供的最后一个准确位置?是的,这取决于您正在开发的应用程序,但当设备在室内时,您可以停止gps提供商(以节省电池),并假设最后一个gps位置足够好。基于加速度计/陀螺仪(请参阅)还有其他方法进行室内定位,但在我看来这并不容易,而且还需要消耗大量电池。我不知道的是如何再次检测用户是否在室外。但我如何知道手机何时在室内?抱歉重复评论,但如果gps提供商没有生成任何信息(意味着室内),那么我可能使用网络提供商?