javascript - 为什么使用 JavaScript 在我的 PWA 上重复该位置?
问题描述
我在获取 PWA 用户的位置时遇到了问题。正在拍摄的位置被重复并且没有被更新。
$("#storeLocation").click(function () {
navigator.geolocation.getCurrentPosition(
function (e) {
a = e.coords.latitude + "," + e.coords.longitude;
// HERE I STORE THE COORDS IN MY DATABASE
},
{ enableHighAccuracy: true, timeout: Infinity, maximumAge: 0 }
);
});
该按钮正在工作,因为我可以看到当我单击它时它正在存储位置,但始终存储相同的位置。
解决方案
如果您想持续监控用户的位置,请使用 Geolocation API 方法,watchPosition()
. 它以相同的方式工作,除了它会随着用户位置的变化或变得更准确而多次触发。
$("#storeLocation").click(() => {
const posOpts = { enableHighAccuracy: true, timeout: Infinity, maximumAge: 0 };
navigator.geolocation.watchPosition((e) => {
const position = a = e.coords.latitude + "," + e.coords.longitude;
// Store position here
}, posOpts);
});
推荐阅读
- python - 如何通过 python 中的代理路由我的网络浏览器?
- mongodb - “错误:无法添加用户”在 MongoDB docker 堆栈中使用 Windows 上的秘密文件
- mysql - 将 MySql 查询转换为 sql server 2019 查询
- ag-grid-react - Ag-grid 选择所有复选框导致应用程序挂起
- sql - 在单独的列 SQL 中生成第一个和最后一个状态
- python - 使用用户输入检索数据
- jquery - jQuery Mobile 应用程序强制浏览器忽略缓存页面
- mysql - 如何在 CREATE TABLE Mysql 之后立即执行 INSERT INTO 语句
- flutter - Flutter 检查 HomeScreen 中 SingleChildScrollView 内的小部件是否已构建
- javascript - 在 React JS 中使用 createContext 将“值”传递给提供者