我知道,这个问题在过去已经有报道了。
但这一问题在2015年得到了解决。现在又回到2017年了!
该错误(地理定位位置错误,代码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示例中,问题似乎是相同的:https://developers.google.com/maps/documentation/javascript/examples/map-geolocation
发布于 2017-03-09 11:24:05
这也发生在我身上,花了30分钟试图找到一个解决方案,然后再试着重新开始。
发布于 2018-10-22 15:15:15
我知道这个主题包含谷歌Chrome,但是这个错误:
Network location provider at 'https://www.googleapis.com/' : No response received.
也发生在铬,版本70.0.3538.67 (开发人员构建)(64位) (macOS,高塞拉利昂)。
发布于 2017-03-23 06:10:00
我工作场所的每个人都在自己的代码和Google示例中都遇到了这个问题。
似乎定期谷歌的网络定位服务不可用,导致所有无法通过其他方式(GPS或蜂窝塔三角测量)确定位置的设备都将失效。
老实说,这似乎是一个非常脆弱的实现-为什么没有一个后备网络位置提供商的铬?
https://stackoverflow.com/questions/42549928
复制相似问题