Javascript 地理定位在简单js中不起作用
我有以下代码:Javascript 地理定位在简单js中不起作用,javascript,Javascript,我有以下代码: document.querySelector("#posBtn").addEventListener("click", function () { navigator.geolocation.getCurrentPosition(PositionFunction); }); function PositionFunction(p) { console.log(p.coords.longitude); } 它看起来很简单,但不起作用。为什么?它似乎工作得很好!您将得到
document.querySelector("#posBtn").addEventListener("click", function () { navigator.geolocation.getCurrentPosition(PositionFunction); });
function PositionFunction(p) {
console.log(p.coords.longitude);
}
它看起来很简单,但不起作用。为什么?它似乎工作得很好!您将得到一个警告,即HTTP不再支持地理位置,您需要HTTPS才能使其工作 getCurrentPosition()和watchPosition()不再适用于不安全的源。要使用这个特性,您应该考虑将应用程序切换到安全的原点,例如HTTPS.< /P>。
document.querySelector(“#posBtn”).addEventListener(“单击”,函数(){navigator.geolocation.getCurrentPosition(PositionFunction);});
函数位置函数(p){
console.log(p.coords.longitude);
}
获得经度
尝试捕捉错误,了解其不起作用的原因
document.querySelector("#posBtn").addEventListener("click",function(){
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(PositionFunction, showError);
} else {
console.log("Geolocation is not supported by this browser.");
}
});
function PositionFunction(p) {
console.log(p.coords.longitude);
};
function showError(error) {
switch(error.code) {
case error.PERMISSION_DENIED:
console.log("User denied the request for Geolocation.");
break;
case error.POSITION_UNAVAILABLE:
console.log("Location information is unavailable.");
break;
case error.TIMEOUT:
console.log("The request to get user location timed out.");
break;
case error.UNKNOWN_ERROR:
console.log("An unknown error occurred.");
break;
}
}
查看工作示例:添加一个错误回调函数来调试它。请参阅此处