Javascript 网页上的地理位置不工作

Javascript 网页上的地理位置不工作,javascript,geolocation,Javascript,Geolocation,我以前曾多次使用下面的脚本,尽管最近我无法让它工作。当我尝试运行它时,我得到了一个错误位置信息不可用。 我不知道为什么。我已经检查了浏览器的更新说明等,看看这是否是一个功能已被删除,我找不到这种情况的参考 如果有人知道我做错了什么,如果你能给我指出正确的方向,我将不胜感激 提前谢谢 <!DOCTYPE html> <html> <body> <p>Click the button to get your coordinates.</p>

我以前曾多次使用下面的脚本,尽管最近我无法让它工作。当我尝试运行它时,我得到了一个错误
位置信息不可用。

我不知道为什么。我已经检查了浏览器的更新说明等,看看这是否是一个功能已被删除,我找不到这种情况的参考

如果有人知道我做错了什么,如果你能给我指出正确的方向,我将不胜感激

提前谢谢

<!DOCTYPE html>
<html>
<body>

<p>Click the button to get your coordinates.</p>

<button onclick="getLocation()">Try It</button>

<p id="demo"></p>

<script>
var x = document.getElementById("demo");

function getLocation() {
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(showPosition, showError);
    } else { 
        x.innerHTML = "Geolocation is not supported by this browser.";
    }
}

function showPosition(position) {
    x.innerHTML = "Latitude: " + position.coords.latitude + 
    "<br>Longitude: " + position.coords.longitude;
}

function showError(error) {
    switch(error.code) {
        case error.PERMISSION_DENIED:
            x.innerHTML = "User denied the request for Geolocation."
            break;
        case error.POSITION_UNAVAILABLE:
            x.innerHTML = "Location information is unavailable."
            break;
        case error.TIMEOUT:
            x.innerHTML = "The request to get user location timed out."
            break;
        case error.UNKNOWN_ERROR:
            x.innerHTML = "An unknown error occurred."
            break;
    }
}
</script>

</body>
</html>

单击按钮获取您的坐标

试试看

var x=document.getElementById(“演示”); 函数getLocation(){ if(导航器.地理位置){ navigator.geolocation.getCurrentPosition(showPosition,showError); }否则{ x、 innerHTML=“此浏览器不支持地理位置。”; } } 功能显示位置(位置){ x、 innerHTML=“纬度:”+position.coords.Latitude+ “
经度:”+position.coords.Longitude; } 功能错误(错误){ 开关(错误代码){ 案例错误。权限被拒绝: x、 innerHTML=“用户拒绝了地理位置请求。” 打破 案例错误。位置不可用: x、 innerHTML=“位置信息不可用。” 打破 大小写错误。超时: x、 innerHTML=“获取用户位置的请求超时。” 打破 案例错误。未知错误: x、 innerHTML=“发生未知错误。” 打破 } }
我假设您使用的是Chrome,而您的网站没有SSL,对吗?不幸的是,gelocation在这种条件下对铬不起作用。您必须在其他浏览器(例如Firefox)上进行测试,或者为您的网站获取SSL

如果geolocation在浏览器中的设备上正常工作,您是否尝试过?这样,您就可以知道是您的代码还是浏览器。尝试一些地理定位演示。有很多原因。您需要确保您使用的是
https
localhost
,而不是
http
。另外,请检查您的internet连接和浏览器设置,以检查DefaultAccess是否拒绝位置访问谢谢您的帮助!这是一种享受。我将通过HTTPS访问。我不知道现在需要这样做(它在Firefox上工作,没有你说的)。