我正在运行只输出屏幕上经度和纬度的基本代码,如果出现问题则会输出错误。
function getMyLocation() {
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(displayLocation, displayError);
}
else {
alert("Oops, no geolaction support");
}
}
function displayLocation(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
var h1 = document.getElementById("location");
console.log("hey " + latitude + " " + longitude);
h1.innerHTML += " " + latitude + ", " + longitude;
}
function displayError(error) {
var errorTypes = {
0: "unkown error",
1: "Permission denied by user",
2: "Position is not available",
3: "Request timed out"
};
var errorMessage = errorTypes[error.code];
if(error.code == 0 || error.code == 2) {
errorMessage += " " + error.message;
}
var div = document.getElementById("location");
div.innerHTML = errorMessage;
}
当我在firefox和Internet Explorer中运行时,我会获得要求许可的弹出窗口,并且代码运行正常。当我使用手机的谷歌浏览器浏览器时,我会被要求获得许可,一切正常。当我在桌面上尝试使用chrome时,我永远不会被问及权限,我的错误代码会运行并打印:“用户拒绝权限”。我已经检查了我的Chrome设置并确保允许我的主机名并尝试允许任何网站跟踪我的实际位置但无济于事。怎么办?