gpt4 book ai didi

javascript - 无法在 Chrome 47 中获取地理位置

转载 作者:行者123 更新时间:2023-11-27 23:36:02 33 4
gpt4 key购买 nike

我可以从我使用的 Firefox 和旧版 Chrome (Chrome 45) 中获取用户的地理位置。在 Chrome 47 中,我无法获得结果。

可能的原因是什么?我的代码有什么问题吗?这是代码。

var cord= '';
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(function(position) {
var lat = position.coords.latitude;
var lng = position.coords.longitude;

alert( lat+','+lng);

}, function(error) {
alert( 'error');
});
}
else
{
alert('else of navigator.geolocation ');

}

Fiddle

最佳答案

底层 API 没有改变,这里的代码示例也运行良好。它确实表明它过去可能被拒绝。

要在客户端的 Chrome 中进行一些调试,您可以使用 permissions API查询页面是否有权访问 API - 如果返回 denied,则用户已阻止访问。例如。

navigator.permissions.query({name: 'geolocation'}).then(function(e) {
alert(e.state);
e.onchange = function() {
alert(this.state);
};
});

如果它显示“提示”,则意味着用户以前从未接受过该权限,或者他们在上一个页面加载时忽略了提示。其他两个状态是明确的授予和拒绝状态,用户在其中做出了明确的选择。如果您看到这两者中的任何一个,特别是被拒绝,那么您的问题是用户或您之前拒绝了该提示。

最后,这是一个警告和提醒。您需要确保您在 https 上运行 - 我们将更改访问地理定位 API 的要求,使其只能通过 https 访问。我们预计这一变化将在未来几个月内实现。

如果这一切都失败,则可能是 Chrome 存在问题。 Chrome Dev Tools 中就有一个这样的错误。如果您切换“模拟地理位置”并再次将其关闭,则会出现一些错误。

关于javascript - 无法在 Chrome 47 中获取地理位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34127465/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com