M V*_*esh 5 gps android location battery-saver fusedlocationproviderapi
Google提供了融合的位置提供程序API,以获取位置坐标。根据文档,API在内部轮询来自不同提供商(GPS,Wifi,蜂窝网络)的位置数据,并提供最佳位置。但是,在高精度模式下,我收集了以下信息。在此测试中,GPS始终处于打开状态。
Latitude: 12.8560136
Longitude: 80.1997696
User Activity: IN VEHICLE
Speed: 21.810165 mph
Altitude: -83.0
Accuracy: 12.0
Run Code Online (Sandbox Code Playgroud)
当我在地图上看到该点时,这些点不在路上。他们离路有点远。道路上还会绘制其他具有相同精度的点。当我完全缩放并看到时,其中一些点与行驶的道路略微偏离。
我想要准确的信息。它的点必须在道路上。
我已经使用了Fused Location API来获取位置信息。
mGoogleApiClient = new GoogleApiClient.Builder(mContext)
.addApi(LocationServices.API).addConnectionCallbacks(this)
.addOnConnectionFailedListener(this).build();
Run Code Online (Sandbox Code Playgroud)
分享您的建议。如果我使用位置管理器,它将解决我的问题。而且我只需要消耗更少的电池。融合的API保证仅消耗更少的功率并提高效率。
此外,Fused Location API还有以下问题,
- 无法获得卫星计数。
- 始终返回FUSED提供程序。没有确切给出哪个提供者(GPS或网络)返回位置信息。
- 当两个提供者都不可用时,您永远不会收到通知。当没有提供程序可用时,它将不返回任何值。要检查提供商的可用性,我们需要分别向位置管理器注册。消耗更多的功率。
请帮我。提前致谢。
您无法通过直接定位提供商击败融合提供商的准确性或功耗。
融合位置提供商报告速度(以米每秒为单位)和准确性(以米为单位)。您拥有的示例点精确到 12 米。美国车道定义为3.7m。如果精度为 12m,则在任何方向上都可能偏离 12/3.7=3.25 条车道。我不能说得足够多。 如果您想要准确性,则必须检查位置的准确性。
调整您的程序以处理该点的准确性。例如,假设该点是正确的,则围绕该点绘制一个半径=位置精度的圆。
归档时间: |
|
查看次数: |
3973 次 |
最近记录: |