我一直在编写一些地图功能。在过去的几天里,我被禁止拨打我的浏览器navigator.geolocation.getCurrentPosition。我不知道为什么,但是当我运行以下代码时:
navigator.geolocation.getCurrentPosition(
function(){
console.log("success",arguments);
},function(){
console.log("fail",arguments);
}
);
我收到以下错误:
fail {"code":2,"message":"Network location provider at 'https://maps.googleapis.com/maps/api/browserlocation/json?browser=chromium&sensor=true&wifi=mac%3A00-24-aBunchOfCrapAboutMyNetworkingMacIDStuff' : Response was malformed."}
谁能告诉我这意味着什么?这个回应是Chromium给我的回应。当我运行相同的代码时,Firefox给了我不同的东西:
fail [
0:GeoPositionError{
"PERMISSION_DENIED":1,
"POSITION_UNAVAILABLE":2,
"TIMEOUT":3,
"code":2
}
]
有什么想法吗?我只是过多地打他们的API,他们拒绝我的mac地址?或者还有别人可以想到的东西。我卸载了我的浏览器并再次尝试。我在我的机器上创建了一个新的用户配置文件并尝试使用它,但它失败了。我将我的硬盘换成了另一台相同的机器,它仍然失败了。我不知道它为什么会失败,但昨天它正在运作。让我知道。
答案 0 :(得分:0)
我有完全相同的问题。但几个小时后它还没有恢复。我插入Google API密钥时情况没有改变。我查看了报价页面,但我的帐户未达到每日报价。
找出原因。 Google最近开始强制使用googleapi密钥。如果您未提供访问地理位置的密钥,则无法再访问该服务。每日报价也是强制执行的。直到超过几个小时(在我的情况下为一天)之后,关键的添加才会生效。
详细说明: 这个电话过去会有效: http://maps.google.com/maps/api/js?sensor=true
现在你需要这样做: http://maps.google.com/maps/api/js?key=&安培;传感器=真