我正在用android开发gps跟踪应用程序。下面是我的代码架构:
BackgroundSyncService是否在一个时间间隔内运行。如果它停止了,它就开始了。BackgroundSyncService是否在一个时间间隔内运行。如果它停止了,它就开始了。BackgroundSyncService是否在一个时间间隔内运行。如果它停止了,那么它就开始了。在我的BackgroundSyncService服务中,我使用以下方式初始化GoogleApiClient:
public void setLocationLocationRequest() {
try {
googleApiClient = new GoogleApiClient.Builder(this).addConnectionCallbacks(this)
.addOnConnectionFailedListener(this).addApi(com.google.android.gms.location.LocationServices.API).build();
locationRequest = new LocationRequest();
locationRequest.setInterval(3000);
locationRequest.setFastestInterval(3000);
locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
googleApiClient.connect();
} catch (Exception e) {
}这里精确的是LocationRequest.PRIORITY_HIGH_ACCURACY,间隔是
locationRequest.setInterval(3000)这里是GoogleApiClient实现代码。
这应用GPS信息剖面包含纬度、经度和精度参数
我的发现: in onLocationChanged(Location location)方法我用这样的方式检查定位对象的准确性:location.getAccuracy()。在这里,如果精度小于50米,那么我接受它。
在85%的案例中,它就像一种魅力。它让我从全球定位系统准确定位。但在15%的情况下,我的定位不准确,比如超过300米.
15%的设备是低成本中国品牌手机。
我的问题:
谢谢你的这条线。同时也为糟糕的英语感到遗憾。
发布于 2017-03-01 21:34:54
这是现实生活的场景。您无法确保所有的位置提供程序都能按预期工作。你应该要求最好的职位。
是。有些设备可能有较老的GPS芯片组,只能跟踪GPS信号(美国),因为还有其他定位系统,如伽利略(欧洲)、GLONASS (俄罗斯)、QZSS (日本)和北斗(中国)。芯片组对这些类型的支持越多,就越有可能跟踪更多的卫星。另外,TTFF (时间第一次修复)取决于gps接收机有多少通道。
( b)如果是,我能为低配置设备做些什么?
因为这是一个硬件问题,所以您不能在这里做任何事情。但其他定位源可以弥补GPS数据的不足,如AGPS (辅助gps)、wifi和蜂窝定位。此外,还有一些付费选项,它提供了一个数据库来使用wifi访问点和cellids来定位您的设备(它们声称它们提供了最好的wifi解决方案,但我不确定因为我不使用它。您可以查看它,http://combain.com)。Wifi和赛利德还取决于周围有多少个无线接入点和蜂窝塔,以及它们的距离(信号强度)。如果您需要50米的精度,蜂窝定位没有什么可做的,但是wifi有机会接近这个值。
2009年的一些研究结果
他们可能有特定的定位策略,但它将基于在GPS中断期间使用其他来源。
其他答案则声称互联网与全球定位系统无关。是的,这是真的,它不是与全球定位系统有关,而是位置。AGPS利用互联网获取3种类型的数据(卫星信号、历书和星历),帮助GPS提供更快的位置定位。如果星历和历书过时了,或者设备从以前的定位位置移动了几百公里,那么它就被称为冷启动,在没有AGPS的情况下大约需要12到15分钟。
融合位置提供商已经知道如何提供这些配置的最佳解决方案,所以您应该祝福它。
参考文献:
发布于 2017-02-24 06:33:07
第一,(和第二)
设备配置和代码体系结构在这里都很重要。如果您已经在85%的成功率,代码架构是好的,我认为。
就全球定位系统而言,在设备配置和精度方面,视线是一个重要因素。虽然低成本的手机可以返回一个准确的位置,一个清晰的视线。您可以尝试多运行两个周期/等待获得更高的精度。
在最坏的情况下,为了它的价值,您也可以尝试使用LocationManager和GPS提供商技术检索位置,这种技术作为15%的后盾,只是为了比较和确保您使用的位置是最准确的。区位策略说它是
在大多数情况下,通过使用,您将获得更好的电池性能和更适当的准确性。
https://stackoverflow.com/questions/42361598
复制相似问题