2

我正在开发跨平台应用程序。navigator.geolocation 工作正常,但从过去 2 天开始,它只是在 Google chrome 中出现问题。该 api 是否已弃用或此 api 的其他问题?我在许多不同的浏览器和网络上测试了以下代码,但仍然是同样的问题。

var options = {
  enableHighAccuracy: true,
  timeout: 5000,
  maximumAge: 0
};

function success(pos) {
  var crd = pos.coords;

  console.log('Your current position is:');
  console.log('Latitude : ' + crd.latitude);
  console.log('Longitude: ' + crd.longitude);
  console.log('More or less ' + crd.accuracy + ' meters.');
};

function error(err) {
  console.warn('ERROR(' + err.code + '): ' + err.message);
};

navigator.geolocation.getCurrentPosition(success, error, options);

错误(2):“ https://www.googleapis.com/ ”处的网络位置提供程序:返回错误代码 403。

4

2 回答 2

1

最新的 chrome 已在非安全来源上弃用此 API:

https://sites.google.com/a/chromium.org/dev/Home/chromium-security/deprecating-powerful-features-on-insecure-origins

是时候https://localhost启动和运行了;)

对于将来的查询... https://developers.google.com/web/updates/2016/04/geolocation-on-secure-contexts-only?hl=en

于 2015-09-01T14:27:08.350 回答
1

这似乎现在已修复。由于谷歌所做的服务器端更改,一定是一个问题。当我调试时,我看到了速率限制问题,即使我在https://www.google.com上的控制台中运行 getCurrentPosition() 调用也是如此。

于 2015-09-02T02:02:39.270 回答