在android中获取当前准确位置的最佳方法是啥?
Posted
技术标签:
【中文标题】在android中获取当前准确位置的最佳方法是啥?【英文标题】:What is best way to get current accurate location in android?在android中获取当前准确位置的最佳方法是什么? 【发布时间】:2018-03-17 20:18:46 【问题描述】:我正在尝试实现获取当前位置。这两个代码我都用过。
mFusedLocationClient =
LocationServices.getFusedLocationProviderClient(this);
mFusedLocationClient.getLastLocation()...
定位精度为2000米
和
ReactiveLocationProvider locationProvider = new ReactiveLocationProvider(context);
locationProvider.getLastKnownLocation()...
定位精度为 100 到 200 米。
我觉得反应式定位是最准确的。有没有最好的方法来获得准确的当前位置。谁能解释一下为什么谷歌代码没有显示确切的位置?
【问题讨论】:
嗨 @Umakant 使用 GogleApiClient ,这将提供准确的位置 【参考方案1】:您可以使用LocationRequest.PRIORITY_HIGH_ACCURACY
创建LocationRequest
和setPriority
,它的准确性很高。虽然精度取决于 GPS,因为有时我会得到 10 米的精度。
protected void createLocationRequest()
mLocationRequest = new LocationRequest();
mLocationRequest.setInterval(INTERVAL);
mLocationRequest.setFastestInterval(FASTEST_INTERVAL);
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
想了解更多可以参考Fused location provider
【讨论】:
谢谢哥们的回复,你的意思是使用位置更新的概念吧?或者我们可以将此设置添加到 getLastKnownLocation? 您可以使用 GoogleApiClient 添加 locationRequest。您可以参考我在回答中提到的链接。您将了解 FusedLocationAPI @UmakantAngadi 的整个概念【参考方案2】:它们都是正确的,尽管根据我的经验,Reactive 也更准确,但总的来说,当你给他们时间安顿下来时,它们会提供更高的准确度。这意味着如果您实例化 LocationProvider 并立即尝试查询它可能无法提供最准确位置的位置,我宁愿建议给用户一个刷新按钮,以查看现在的位置是否比以前的位置更准确。 WhatsApp位置发送器就是一个很好的例子,用户可以刷新当前位置以找到更准确的坐标。
【讨论】:
感谢您的回复。你知道为什么响应式代码比谷歌代码更好吗?以上是关于在android中获取当前准确位置的最佳方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章