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上工作,没有你说的)。