这是我第一次发布关于堆栈溢出的问题,真的希望你们能帮忙。
我第一次尝试使用谷歌地图地理编码api而无法让它工作。
我使用的网址格式为:
https://maps.googleapis.com/maps/api/geocode/json?address=LS2+9AQ&sensor=false&key= [MY_API_KEY]
在这种情况下,我正在查找英国邮政编码:来自Chrome浏览器的LS2 9AQ。
当我不使用我的api密钥时,网址确实有效,但没有密钥的允许通话数限制对我的需求来说太低了。
我还没有在生产网站上使用它,因为它现在是从我当地的dev开始运行的。
我得到的实际回应是:
[error_message] => The provided API key is invalid.
[results] => Array
(
)
[status] => REQUEST_DENIED
当我删除api键时,它会起作用并返回以下内容:
{
"results" : [
{
"address_components" : [
{
"long_name" : "LS2 9AQ",
"short_name" : "LS2 9AQ",
"types" : [ "postal_code" ]
},
{
"long_name" : "Woodhouse",
"short_name" : "Woodhouse",
"types" : [ "sublocality", "political" ]
},
{
"long_name" : "Leeds",
"short_name" : "Leeds",
"types" : [ "locality", "political" ]
},
{
"long_name" : "West Yorkshire",
"short_name" : "West York",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "United Kingdom",
"short_name" : "GB",
"types" : [ "country", "political" ]
},
{
"long_name" : "Leeds",
"short_name" : "Leeds",
"types" : [ "postal_town" ]
}
],
"formatted_address" : "Woodhouse, Leeds, West Yorkshire LS2 9AQ, UK",
"geometry" : {
"bounds" : {
"northeast" : {
"lat" : 53.8090296,
"lng" : -1.5509549
},
"southwest" : {
"lat" : 53.8083045,
"lng" : -1.5519655
}
},
"location" : {
"lat" : 53.808447,
"lng" : -1.5517752
},
"location_type" : "APPROXIMATE",
"viewport" : {
"northeast" : {
"lat" : 53.81001603029149,
"lng" : -1.550111219708498
},
"southwest" : {
"lat" : 53.80731806970849,
"lng" : -1.552809180291502
}
}
},
"types" : [ "postal_code" ]
}
],
"status" : "OK"
}
我已经尝试用当前在我的作品网站上使用的url替换url并得到相同的响应,我尝试了两种不同的密钥,我自己生成了一个,一个是上周创建的,另一个是在一小时前创建的。我已按以下方式设置密钥:
我肯定正确地输入密钥,我和其他开发人员都多次检查过这个问题,有没有人对可能出错的问题有任何想法?
提前感谢任何有帮助的人。
更新 我发现问题导致进程在10次迭代后停止工作。谷歌地理编码api每秒限制10次呼叫,我正在考虑这个,我现在每10次迭代加1秒延迟,理论上我现在可以达到每日限制。
但是我仍然需要比默认免费限制更多的通话,如下面的评论中所述,我相信我可以使用api密钥来增加基于我拥有经过验证的帐户的免费限额。我正在使用这个用于商业,但它的数量不足以值得付出代价。任何人都可以帮我解决这个问题吗?
答案 0 :(得分:4)
好的,如果不支付商业帐户,看起来我想做的事情是不可能的。无法将apikey应用于Google地理编码API。
我误解了一些关于google maps api的文档,其中提到了提高每日查询的允许限制。
这似乎不适用于地理编码api。
答案 1 :(得分:-1)
从您的示例中,您似乎试图对英国邮政编码进行地理定位。 您不需要谷歌API这样做,您可以下载英国邮政编码列表,将其放入数据库并使用谷歌作为后备选项。 我建议从这里下载https://www.doogal.co.uk/UKPostcodes.php