java - FusedLocationProviderClient 返回错误的经纬度
问题描述
按照谷歌开发者网站的示例,我使用 FusedLocationProviderClient 来获取最后一个已知位置。
private FusedLocationProviderClient fusedLocationClient;
// ..
@Override
protected void onCreate(Bundle savedInstanceState) {
// ...
fusedLocationClient = LocationServices.getFusedLocationProviderClient(this);
}
在按钮单击时,我调用:
fusedLocationClient.getLastLocation()
.addOnSuccessListener(this, new OnSuccessListener<Location>() {
@Override
public void onSuccess(Location location) {
// Got last known location. In some rare situations this can be null.
if (location != null) {
// Logic to handle location object
myposition.setText(location.getLatitude() + ", " + location.getLongitude());
// ...
}
}
});
但是,有时,它给了我一个远离当前设备地理位置的位置。我已经在三种不同的设备上进行了检查。我已经宣布:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
我应该如何使用 fusedlocation 来获得准确的最佳位置?我尝试使用 getcurrentlocation 更改 getlastlocation 但最后一种方法不可用,尽管文档说它可用。
解决方案
推荐阅读
- python - Keras 混合模型在每个时期都给出相同的结果
- python - 如何在满足条件之前休眠while语句并继续Python?
- angular - 如何从角度控制器调用 MVC 控制器?
- vector - 在 Keras 中导出每个时期的嵌入
- d3.js - d3 - 条形图重叠我的文本,我怎样才能减少域,所以它不会?
- javascript - 不知道如何修复一些 404 可以找到文件错误
- javascript - 循环检测到@computed 属性的错误
- c# - 在 word 365 中,我在哪里可以找到将它们放置在页面上的模板变量?
- javascript - 如何使表格中的空白单元格可点击并使用javascript使其在另一个表格上显示某些内容?
- r - 匹配2列数据框中的值并提取特定值