我一直在编写一些地图功能。在过去的几天里,我一直被限制对我的浏览器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
}
]有什么想法吗?他们拒绝我的mac地址,是不是我只是简单地点击了他们的API?或者有没有别的什么可以让人想到的。我已经卸载了我的浏览器,然后重试。我在我的机器上创建了一个新的用户配置文件,并尝试使用它,但失败了。我把我的硬盘换到了另一台相同的机器上,但还是出了故障。我不知道为什么它会失败,但它昨天是工作的。让我知道。
发布于 2012-03-14 12:21:16
我也有同样的问题。但几个小时后还没有恢复。在我插入Google API密钥后,情况没有改变。我已经检查了报价页面,我的帐户还没有达到每日报价。
找出了原因。谷歌最近开始强制使用googleapi key。如果您不提供访问地理位置的密钥,则无法再访问该服务。每日报价也是强制执行的。密钥添加要在超过几个小时后才会生效(在我的情况下是一天)。
详细信息:此调用将在过去工作:http://maps.google.com/maps/api/js?sensor=true
现在您需要这样做:http://maps.google.com/maps/api/js?key=&sensor=true
https://stackoverflow.com/questions/9285895
复制相似问题