问题标签 [google-location-services]
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 - 如何将 Google Location API 与 android Marshmallow 运行时权限系统集成?
我正在尝试Activity
使用 Google Location API 获取用户的位置。我有一个按钮,如果用户点击该按钮,则应检索用户的位置并将其发送到应用程序后端。根据 Google 的文档,
方法必须在onConnected
方法中调用。但是,如果我不检查用户授予的权限,该方法会引发错误。
onClick
我的问题是我在我的按钮方法中请求许可。
我试着把
在onClick
方法内部,但它返回一个空对象。
是否有适当的方法可以通过点击按钮而不是在onCreate
活动方法中向用户询问位置许可并且仍然能够获取用户的位置?
android - 如何在不使用 GPS 的情况下每秒查找纬度和经度
我想找到用户当前位置的纬度和经度,并每秒插入 db。并根据用户在位置上移动的所有纬度和经度绘制一条路径,无需使用 GPS
android - 设备未收到位置更新
我正在开发一个需要位置更新的应用程序。所以我按照官方教程并在我的开发设备上运行该应用程序。GPS 已激活,一切正常,但永远不会调用 onLocationChanged()。
然后我在我的个人智能手机上运行该应用程序,一切都按预期工作。所以我开始思考我的开发和我的私人设备之间的区别。我的开发手机最显着的特点是:
- 没有 SIM 卡
- 没有关联 Google 帐户
- 没有可用的 WiFi => 没有互联网连接
3 号已经迫使我从镜像下载最新的 Google Play 服务 apk 并手动安装。我还需要做些什么来让我的开发手机使用定位服务吗?
我的开发设备的规格:
Samsung Galaxy S7
Android 7.0
Google Play services 10.2.99
编辑
正如@EugenPechanec 指出的那样,依靠GPS 只需要一个GPS 连接,所以在户外真的很有帮助。打开我私人手机的飞行模式并仅激活 GPS 导致我得到与开发设备相同的结果。把它放在窗边让我有了它的 1/3 次和开发设备的 0/3 次。所以这看起来很合法。非常感谢您在 GPS 上的提醒;)
java - 使用 Job Scheduler API 在 Job Service 中使用 GoogleApiClient - 缺少回调
我试图在应用程序关闭时的特定时间间隔获取位置,为此我尝试使用 GoogleApiClient 的获取最后一个已知位置并使用 JobService 触发该位置。我已经在 JobScheduler 类上实现了 ConnectionCallbacks。但问题是永远不会调用 onConnected() 回调。我认为在返回任何回调之前服务已被销毁。那么什么是实现这个逻辑的有效方法。
我的工作服务类
我已经在提供这些参数的活动中调用了这项工作
关于作业的日志:
我的 onConnected 实现从未被解雇。
android - getLastLocation API 如何在内部工作?即使位置设置为 ON,它也会返回 null
我已经阅读了一些关于此的问题,但我并没有找到我需要的答案。我想了解 getLastLocation 如何在内部工作。最后一个已知位置缓存值如何更新?
我们需要获取设备的最后一个已知位置。谁能解释 getLastLocation 是如何工作的?我已经看到即使位置设置为 ON,getLastLocation API 也会返回 null。同时,如果我检查了谷歌地图应用程序并且它能够获取位置(当然它必须使用 requestLocationUpdates 或任何其他 API)。
在我的 Nexus-5 上,我观察到 getLastLocation 即使在我启动 Google Map 应用程序然后再次启动我的应用程序之后也会返回 null。即使在 Google 地图应用程序中正确检测到位置,getLastLocation API 也会返回 null。
Android系统如何更新最后一个已知位置?它是否仅在某些应用程序通过 requestLocationUpdates API 请求位置时更新?如果 Android 系统自动更新最后一个已知位置,那么为什么 getLastLocation API 返回 null?
getLastLocation API 获取最后一个已知位置
需要注意的点:
授予位置权限。
位置设置已开启
相同的代码在少数设备上工作,但在少数设备上失败。
我正在尝试从 Google 的 FusedLocationProviderAPI 和 Android Framework LocationManager API 获取位置。
我已经检查了 Stackoverflow 上的所有现有问题
如果有人能解释在什么情况下 getLastLocation API 可以返回 null,即使位置设置为 ON,那就太好了。有谁知道这在内部是如何工作的?
android - 如何仅通过 ACCESS_COARSE_LOCATION 使用 GeofencingApi
我正在尝试使用地理围栏,但我不想获得用户的确切位置。所以我正在使用 ACCESS_COARSE_LOCATION。如果我使用大的地理围栏点圈,我认为 ACCESS_COARSE_LOCATION 会正常工作。可能工作不完美,但它可以大致了解用户位置。
在这样的文档代码中
但它给出了错误,因为 GeofencingApi.addGeofences 需要 FINE_LOCATION 权限。如何将地理围栏与 COARSA_LOCATION 一起使用
android - 一旦在android上退出,有没有办法使地理围栏过期
到目前为止,我只能找到以毫秒为单位设置地理围栏过期时间的方法。我想让用户到达地理围栏,退出它,然后地理围栏就会过期。但我只能找到如何设置时间或将其设置为永不过期。
这没有常量变量吗?也许必须通过删除处理它的意图中的地理围栏来完成?
谢谢
android - 如何使用 firebaseJobDispatcher 接收位置的持续更新?
级别
I 是初学者
任务
运行一个 android 服务,该服务在司机每 5 分钟驾驶(跟踪位置)时定期向数据库发送位置更新(纬度、经度)。即使应用程序未处于活动状态,我也想使用位置更新数据库,因此我决定使用 firebase 作业调度程序。
注意
我已经看到了几个关于如何使用 ALARM_MANAGER 或广播接收器等执行此操作的线程。我想知道如何使用作业调度程序执行此操作。我当前的代码有效,但我很确定它不是正确的方法。
问题
1. 我在哪里调用来构建 Googleapi 并调用 Connect() 方法?现在,我的调度程序调用一个类“onStart”,它依次执行连接。
- 除了使用 jobScheduler 之外,还有什么方法可以让我使用“位置接收器”来执行此操作,因为我读取它需要一个时间间隔,并通过覆盖返回更新的位置
onLocationChanged()
。
当前工作代码
Firebase 服务:-
实际跟踪:-
在 Main 中,启动调度:
注意
- 您可能需要添加代码以根据 api 检查权限
- 我将忽略在 Android 清单中注册服务和在构建 gradle 中的依赖项。
react-native - 如何在 react-native 中实现自动检测用户位置
我正在尝试使用地理定位 API在 react-native 中实现自动检测用户位置功能, 但是如果位置服务被禁用,它不会像在各种 Android 应用程序中那样要求用户激活它,它要求用户使用它来激活它谷歌位置服务,然后获取用户的位置。
任何人都可以建议,我该如何实现这个功能。还有什么方法可以同时适用于 ios 和 android 吗?