【发布时间】:2016-02-28 19:35:15
【问题描述】:
对于手表,我的意思是使用 HTML5 的原生 Geolocation 手表支持。这适用于 Web 应用程序,而不是本机应用程序。感谢您的帮助:D
【问题讨论】:
标签: javascript html geolocation
对于手表,我的意思是使用 HTML5 的原生 Geolocation 手表支持。这适用于 Web 应用程序,而不是本机应用程序。感谢您的帮助:D
【问题讨论】:
标签: javascript html geolocation
您无法在后台通过 Web 应用查看用户的位置。 我已经在 Chrome (Android M) 上进行了检查,一旦 Web 应用程序进入后台,GPS 图标就会消失,手表定位过程也会停止。 (一旦 Web App 再次在前台,watch 进程就会恢复)。
设备锁定时也会发生同样的情况。 watch 进程会停止,直到用户解锁并且 Web App 处于前台。
【讨论】:
watchPosition 以这种方式被打断时,是否有任何(确定的)方法来告诉或记录?或者我们是否要对从一个循环到下一个循环的 Δtimestamp 进行有统计依据的猜测?
我已经在 android 上测试了 watchPosition api,它似乎适用于 firefox 但不适用于 chrome。
更新: - 我正在使用带有 Android N 的 Nexus 5X
【讨论】:
2021 年 4 月更新
有一个新的 API 正在讨论中,“Geotracking”,它将允许后台跟踪。不过,这个问题需要投票。如果您有兴趣这样做,请访问: https://bugs.chromium.org/p/chromium/issues/detail?id=898536
【讨论】:
是的。如果您的手机浏览器支持Geolocation API,您绝对可以在后台查看位置。
你可以使用
watchPosition()函数。
watchPosition() 代码片段
var watchID = navigator.geolocation.watchPosition(function(position) {
do_something(position.coords.latitude, position.coords.longitude);
});
如果位置数据发生变化(通过设备移动或更多 准确的地理信息到达),可以设置回调函数 使用该更新的位置信息调用。这个做完了 使用具有相同输入的
watchPosition()函数 参数为getCurrentPosition()。回调函数被调用 多次,允许浏览器将您的位置更新为 您移动,或提供更准确的位置。
getCurrentPosition() 代码片段
navigator.geolocation.getCurrentPosition(function(position) {
do_something(position.coords.latitude, position.coords.longitude);
});
如需了解更多信息,请参考Mozilla/Geolocation/WatchCurrentPosition
希望对你有帮助!
【讨论】: