首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Google中的地理定位错误

Google中的地理定位错误
EN

Stack Overflow用户
提问于 2017-03-02 08:09:42
回答 4查看 9.9K关注 0票数 10

我知道,这个问题在过去已经有报道了。

但这一问题在2015年得到了解决。现在又回到2017年了!

该错误(地理定位位置错误,代码2)出现在Chrome中(版本56.0.2924.87 (64位)):

网络位置提供程序在'https://www.googleapis.com/‘:返回错误代码403。 错误代码2

请注意: Chrome需要HTTPS进行地理定位!

代码语言:javascript
运行
复制
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.');
  }
}
代码语言:javascript
运行
复制
<button onclick="javascript:locate()">Locate me</button>
<input type="text" id="coords" readonly/>

在这个Google示例中,问题似乎是相同的:https://developers.google.com/maps/documentation/javascript/examples/map-geolocation

EN

回答 4

Stack Overflow用户

发布于 2017-03-09 11:24:05

这也发生在我身上,花了30分钟试图找到一个解决方案,然后再试着重新开始。

票数 3
EN

Stack Overflow用户

发布于 2018-10-22 15:15:15

我知道这个主题包含谷歌Chrome,但是这个错误:

代码语言:javascript
运行
复制
Network location provider at 'https://www.googleapis.com/' : No response received.

也发生在铬,版本70.0.3538.67 (开发人员构建)(64位) (macOS,高塞拉利昂)。

也许这个https://bugs.chromium.org/p/chromium/issues/detail?id=820945&can=2&start=0&num=100&q=geolocation&colspec=ID是有关联的。

票数 2
EN

Stack Overflow用户

发布于 2017-03-23 06:10:00

我工作场所的每个人都在自己的代码和Google示例中都遇到了这个问题。

似乎定期谷歌的网络定位服务不可用,导致所有无法通过其他方式(GPS或蜂窝塔三角测量)确定位置的设备都将失效。

老实说,这似乎是一个非常脆弱的实现-为什么没有一个后备网络位置提供商的铬?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42549928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档