Chrome navigator.geolocation.getCurrentPosition() 错误 403
Posted
技术标签:
【中文标题】Chrome navigator.geolocation.getCurrentPosition() 错误 403【英文标题】:Chrome navigator.geolocation.getCurrentPosition() error 403 【发布时间】:2015-11-26 13:31:14 【问题描述】:由于某种原因,在调用navigator.geolocation.getCurrentPosition()
时突然出现此错误:
Network location provider at 'https://www.googleapis.com/' : Returned error code 403.
它昨天工作得很好!他们的服务器会不会有什么问题??
【问题讨论】:
我在 Chrome 和 Firefox 中遇到了同样的问题,但在 IE 中似乎可以找到。在同事的机器上试了一下,结果一样。 也发生在我身上。我怀疑谷歌在他们的地理位置政策中改变了一些不安全的 http 这里有同样的问题。 2015 年 8 月 31 日昨天一切正常。 谢天谢地,不只是我 好像在googleapis.com解决了 【参考方案1】:我遇到了同样的问题,您必须检查您的 developer dashboard 并确保您的 API 密钥没有使用限制或警告。
【讨论】:
【参考方案2】:现在看来它已经恢复了。但在我意识到它起作用之前,我使用了另一种方法来获取 reddit.com 上另一个用户推荐的位置数据
var latLong;
$.getJSON("http://ipinfo.io", function(ipinfo)
console.log("Found location ["+ipinfo.loc+"] by ipinfo.io");
latLong = ipinfo.loc.split(",");
);
来源:https://www.reddit.com/r/webdev/comments/3j8ipj/anyone_else_had_issues_with_the_html5_geolocation/
【讨论】:
这似乎不可靠,我出现在德克萨斯州理查森,这对我来说是个新闻,因为我在旧金山。对不起,我很刻薄。 这只是在大 geoIP 表中查找当前 IP - 特别是在移动设备上,这不是最好的方法(GSM IP 是池 IP,而 GPS 更准确)【参考方案3】:idoco.github.io/map-chat我也遇到这种情况
我怀疑这与谷歌为Deprecating Powerful Features on Insecure Origins 计划的更改有关,似乎最近几天在这个铬Issue 520765: Deprecation and removal of powerful features on insecure origins 上做了一些更改
您能否通过 https 测试您的网站以确认这一点?
与此同时,我发现这个 api 用法可以作为this repo 的一种解决方法:
$.getJSON("http://ipinfo.io", function(doc)
var latlong = doc.loc.split(",")
setUserLocation(parseFloat(latlong[0]), parseFloat(latlong[1]));
getLocation(parseFloat(latlong[0]), parseFloat(latlong[1])).then(function(res)
userLocationName = res
)
initialiseEventBus();
map.panTo(userLocation);
, function(err)
setUserLocation(Math.random()*50, Math.random()*60);
userLocationName = "unknown.na"
initialiseEventBus();
map.panTo(userLocation);
)
【讨论】:
localhost 在此处被定义为安全的:Prefer Secure Origins For Powerful New Features 但仍然无法正常工作... 在内部和外部站点上尝试了 Http:// 和 Https://,结果没有变化(Chrome/FF 中的失败在 IE 中有效。在 fiddler 中使用标准 http:// 进行了尝试头,它的工作。 我们正在使用 https,但仍然会发生这种情况以上是关于Chrome navigator.geolocation.getCurrentPosition() 错误 403的主要内容,如果未能解决你的问题,请参考以下文章