地理定位不断请求许可
geolocation keeps on asking for permission
我正在测试地理定位 API,发现如果我刷新我的页面,该页面一直在请求权限,所以我将我的坐标数据保存到本地存储,但它不起作用!有什么办法只允许一次???
const COORDINATION = "coords";
function saveCords(coordsOBJ){
localStorage.setItem(COORDINATION,JSON.stringify(coordsOBJ));
}
function handleGeoError(position){
console.log("Cant find position");
}
function handleGeoSuccess(position){
// console.log(position);
const latitude = position.coords.latitude;
console.log(latitude);
const longitude = position.coords.longitude;
const coordsOBJ = {
latitude,//latitude = latitude,
longitude//longitude = longitude
}
saveCords(coordsOBJ);
}
function askForCoords(){
navigator.geolocation.getCurrentPosition(handleGeoSuccess,handleGeoError);
}
function loadCoordinate(){
const loadedCords = localStorage.getItem("COORDINATION");
if(loadedCords === null)
{
askForCoords();
}
}
function init(){
loadCoordinate();
}
您的代码中似乎有错字,您在其中为 COORDINATION 添加了引号,但它是一个变量而不是字符串。
尝试更改:
const loadedCords = localStorage.getItem("COORDINATION");
收件人:
const loadedCords = localStorage.getItem(COORDINATION);
我正在测试地理定位 API,发现如果我刷新我的页面,该页面一直在请求权限,所以我将我的坐标数据保存到本地存储,但它不起作用!有什么办法只允许一次???
const COORDINATION = "coords";
function saveCords(coordsOBJ){
localStorage.setItem(COORDINATION,JSON.stringify(coordsOBJ));
}
function handleGeoError(position){
console.log("Cant find position");
}
function handleGeoSuccess(position){
// console.log(position);
const latitude = position.coords.latitude;
console.log(latitude);
const longitude = position.coords.longitude;
const coordsOBJ = {
latitude,//latitude = latitude,
longitude//longitude = longitude
}
saveCords(coordsOBJ);
}
function askForCoords(){
navigator.geolocation.getCurrentPosition(handleGeoSuccess,handleGeoError);
}
function loadCoordinate(){
const loadedCords = localStorage.getItem("COORDINATION");
if(loadedCords === null)
{
askForCoords();
}
}
function init(){
loadCoordinate();
}
您的代码中似乎有错字,您在其中为 COORDINATION 添加了引号,但它是一个变量而不是字符串。
尝试更改:
const loadedCords = localStorage.getItem("COORDINATION");
收件人:
const loadedCords = localStorage.getItem(COORDINATION);