我知道,过去已经报道了this problem。
但它在2015年得到了解决。现在又回到了2017年!
错误(Geolocation Position Error, Code 2)出现在Chrome(版本56.0.2924.87(64位))中:
“https://www.googleapis.com/”的网络位置提供商:已退回 错误代码403。
错误代码2
请注意:Chrome需要使用HTTPS进行地理定位!
function getCoords() {
return new Promise(function(resolve, reject) {
if (navigator.permissions) {
navigator.permissions.query({
name: 'geolocation'
}).then(function(permission) {
switch (permission.state) {
case 'granted':
navigator.geolocation.getCurrentPosition(function(pos) {
resolve(pos.coords);
}, function(error) {
console.error('Error Code: ' + error.code + ' - ' + error.message);
});
break;
case 'prompt':
console.info('Check Geolocation Promt.');
navigator.geolocation.getCurrentPosition(function(pos) {
resolve(pos.coords);
}, function(error) {
console.error('Error Code: ' + error.code + ' - ' + error.message);
});
break;
case 'denied':
default:
resolve(null);
break;
}
});
} else {
reject(new DOMError('NotImplemented', 'Permission API is not supported'));
}
});
}
function locate() {
if (typeof Promise !== "undefined" && Promise.toString().indexOf("[native code]") !== -1) {
getCoords().then(function(coords) {
if (coords !== null) {
console.log(coords);
document.getElementById('coords').value = coords.latitude + ', ' + coords.longitude;
} else {
console.warn('No coords returned :/');
}
});
} else {
console.warn('This browser doesn\'t support geolocation.');
}
}
<button onclick="javascript:locate()">Locate me</button>
<input type="text" id="coords" readonly/>
此Google Maps API示例中的问题似乎相同:https://developers.google.com/maps/documentation/javascript/examples/map-geolocation
答案 0 :(得分:3)
这也发生在我身上,花了30分钟试图找到一个解决方案,然后尝试重新启动
答案 1 :(得分:1)
我工作场所的每个人目前都在我们自己的代码和Google Maps API示例中遇到此问题。
似乎定期Google的网络位置提供商服务不可用,导致无法通过其他方式(GPS或Cell Tower三角测量)确定位置的所有设备都将失败。
老实说,这似乎是一个非常脆弱的实现 - 为什么没有针对chrome的后备网络位置提供商?
答案 2 :(得分:0)
问题似乎已经解决了。我没有改变任何东西。我认为这是一个公司代理问题。
答案 3 :(得分:0)
我知道该主题包含Google Chrome,但是此错误:
Network location provider at 'https://www.googleapis.com/' : No response received.
也发生在Chromium版本70.0.3538.67(开发人员内部版本)(64位)(macOS,High Sierra)上。
答案 4 :(得分:0)
据我所知,此错误与域证书有关,在Chrome中,它仅适用于以“ Https”而不是“ http”开头的URL。
如果您将浏览器从Chrome更改为Edge或其他功能,则不会出现此错误。