问题标签 [fusedlocationproviderclient]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 如何修复从 android 中的 FusedLocationProviderClient 获取空位置值
我一直在尝试使用 android 中的 FusedLocationProviderClient 获取当前位置数据。我总是在位置变量上得到空值,我该如何解决?
我试图按照 FusedLocationProviderClient 的 android 开发者网站的步骤进行操作,但没有帮助。
我希望此代码返回当前位置数据。
java - 避免方法调用 getLatitude 可能产生 java.Lang.NullPointerException
我有一种方法可以在地图上显示设备的当前位置。我正在使用FusedLocationProviderClient
,因为它似乎是最准确的。
我currentLocation.getLatitude()
收到警告:
方法调用可能产生 java.Lang.NullPointerException
我怎样才能避免这种风险?为什么它只与 currentLocation.getLatitude() 而不是相关currentLocation.getLongitude()
?
android - 使用 fusedLocationProviderClient 时“呼叫需要权限,用户可能会拒绝”
我了解您需要检查用户是否允许位置,然后再对fusedLocationProviderClient
. 所以我创建了一个像这样的全局方法:
并在我的活动中使用它:
但是我仍然得到一个红色下划线fusedLocationProviderClient.lastLocation
:Call requires permission which may be rejected by user: code should explicitly check to see if permission is available (with checkPermission) or explicitly handle a potential SecurityException.
知道为什么吗?
android - FusedLocationProviderClient 有时不返回位置
我想在 Android Studio 中制作一个返回用户位置的应用程序。这是我正在使用的代码:
}
现在有时它会返回正确的位置,但有时会显示 Toast 消息“找不到您的位置!!!” 我认为这意味着它没有得到位置。请告诉我一种应用程序将始终返回用户位置的方式。
android - 使用 FusedLocationProviderClient 在 Lollipop Emulator 上不调用 onLocationCallback
使用 FusedLocationProviderClient,不会在 Lollipop Emulator 上调用 locationCallback。模拟器不包含 GOOGLE Play Services。弹出启用位置服务的 POP UP 并调用 startLocationUpdates() 方法但未调用回调。FusedLocationAPI 是否应该在没有 Goodle Play 服务的情况下工作?
android - 如何为 WorkManager 和 LocationServices 获得正确的依赖关系?
对于使用工作人员获取设备位置的应用程序,我一直无法获得正确的依赖关系。我怀疑我在 androidx 上使用了错误的定位服务,但我还没有找到其他任何东西。这是我的 build.gradle:
我排除了 com.android.support 以避免构建异常,例如
在 worker doWork() 运行时:
抛出此异常:
android - FusedLocationProviderClient 返回不准确的位置
我正在使用 Google 的 fusedlocationproviderclient 使用前台服务在 android 上实时跟踪用户的位置。我注意到有时 fusedlocationproviderclient 连续多次返回相同的位置。截至目前我观察到,有时 fusedlocationproviderclient 返回非常不准确的位置(大约 700m)。
早些时候,我曾经使用 Location_Services 跟踪位置,但为了减少电池消耗,我转移到了 fusedlocationproviderclient。我已将 fusedlocationproviderclient 优先级设置为高精度。我已将 minDisplacement 设置为 100m。
这是我的位置对象
我期待它应该返回准确的位置。当我在静态地图上显示跟踪位置时,由于位置不正确,地图中会出现一条直线。
android - Android:当设备位置已启用时,FusedLocationProviderClient 不会调用 onLocationResult()
我最近一直盯着问题,因为我FusedLocationProviderClient
没有调用设备位置已启用的onLocationResult()
方法,LocationCallback
但是当我要求用户先自己启用位置(起初禁用)时这样做没有问题。下面我发布了我的代码(我没有显示我如何事先获得位置许可)从以下位置调用onCreate()
:
这在使用预先启用的位置之前没有问题。
android - 如何仅根据最低位置精度更新位置
我目前正在开发一个需要高精度位置更新的位置跟踪应用程序。这是我的第一个应用程序,我可能会不知所措,但我正在学习。我在使用 location.distanceTo() 时从 fusedLocationProviderClient 获得的准确度在每次更新(5 秒间隔)之间移动 15 到 70+ 米,同时以恒定的速度行走。有没有办法提高精度或设置最小精度?
我在文档中找到了 getAccuracy() 和 hasAccuracy() 方法,但到目前为止我还没有理解如何使用这些方法来消除波动的准确性。
编辑:我遇到了将条件添加到我的位置代码的选项。您能否为我提供一个示例,说明如何将其合并到我的代码中以获得始终如一的高精度?
或者,将我的代码更改为专门使用 LocationManager 和 GPS 卫星会更好吗,因为我的所有会话都是在外面完成的?
android - 在 FusedLocationProviderClient.requestLocationUpdates() 中使用 Looper.myLopper() 或 null 是否相同?
我正在创建一个使用该FusedLocationProviderClient.requestLocationUpdates()
方法的位置跟踪应用程序。它的一个论点需要一个Looper
对象,我不完全确定它是如何工作的。现在我只是传递null
给它,它按预期工作。
经过研究,我了解到 UI Thread 基本上是一个HandlerThread
已经有自己的 Looper 对象(我知道基本的东西,但意识到有点晚)。所以Looper.myLooper(
这次我使用 ) 而不是 null ,它仍然有效。
文档说传递null
在调用线程上执行 locationCallback。那么当我使用Looper.myLooper()
. 从字面上的任何线程调用时两者是否具有相同的效果,或者我错过了什么?