地理定位不断请求许可

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);