我们正在使用Google Play服务获取位置信息:
<div class="product-buttons">
<a class="button-info" href="https://www.mylink.com">Link i want to copy</a>
</div>
<div class="product-price">
<div class="price-standard">
<span class="price-amount">
49,00 eur
</span>
</div>
<a class="new-button" href="https://www.this_is_where_i_want_the_link_above_to_appear.com">Read more</a>
</div>
出于某种原因,大多数时候,我们只能获得10米的准确度。
但是,如果我们在android.location中注册到LocationManager,我们会得到4m的准确度,有时甚至是3m。代码段:
LocationRequest mLocationRequestHighAccuracy = LocationRequest.create()
.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY)
.setFastestInterval(500)
.setInterval(500);
FusedLocationProviderClient locationProviderClient = LocationServices.getFusedLocationProviderClient(context);
Task<Void> task = locationProviderClient.requestLocationUpdates(getLocationRequestHighAccuracy(context), getActivityDetectionPendingIntent(context));
task.addOnSuccessListener(new OnSuccessListener<Void>() {<snip>}
我们希望将Google Play服务用于更快的修复时间,以及与更多传感器的融合,但我们需要最准确的结果。我不明白融合位置提供商如何提供比gps提供商更不准确的结果。
有谁知道如何强制Google Play服务为我们提供更准确的结果?到目前为止,我们唯一的解决方案是注册两者,从Google Play服务获取lat / lon和原始GPS的准确性(如果它更低)..但这似乎是一个黑客......
感谢。
答案 0 :(得分:0)
如果您想获得最准确的结果,请使用GPS。融合位置的想法是,您需要更换准确性以换取更快的修复时间,更少的电池使用等。如果这不是您所需要的,只需使用GPS即可。你不能吃蛋糕也吃。
至于它如何提供比GPS更低的准确性 - 它更依赖于网络位置而更少依靠GPS数据来节省电池。唯一比GPS更精确的是短距离信号三角测量,为此您需要无处不在的蓝牙信标以及精确的地图。这就是为什么手机具有GPS硬件的原因 - 因为它是在极少数情况下获取位置的最准确方式。如果Fused更准确,他们会将其删除并节省硬件成本。