我在这段代码中使用API​​ V2或V3吗?

时间:2013-10-24 11:07:54

标签: php google-maps-api-3 error-handling

我的live,staging和localhost有一个页面,里面有地图和商店查找器。

6个月后,这个现在不起作用,并没有触及代码。我更新了我的API密钥但仍然没有运气。现在我知道API V2现在还没有使用,我想知道我是否使用了错误的代码(混淆了我自己)。在我的商店查找器中,我有这个网址:

$url = "http://maps.google.co.uk/maps/geo?q=".urlencode($this->input->post('postcode'))."&output=json&key=MYKEY";

现在阅读此页面(https://developers.google.com/maps/documentation/geocoding/#JSON)这已经发生了变化,但我似乎无法获得有效的网址!

我得到的错误是:Message: file_get_contents(http://maps.google.co.uk/maps/geo?q=sr3+4as&output=json&key=MYKEY): failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden

当我在Google中输入网址时,我会收到以下消息:

We're sorry...

... but your computer or network may be sending automated queries. To protect our users, we can't process your request right now.

如果有人可以引导我,如果我的网址字符串错误,或者如果这是另一个问题我会很感激。

谢谢!

1 个答案:

答案 0 :(得分:1)

根据the upgrade guide此终结点网址: http://maps.google.co.uk/maps/geo

正在使用v2地理编码API。

  

从v2切换的开发人员可能正在使用旧版主机名 - maps.google.com或maps-api-ssl.google.com   使用SSL。您应该迁移到新的主机名:maps.googleapis.com。

此基于更新指南中信息的网址适用于我:

http://maps.googleapis.com/maps/api/geocode/json?address=nebraska&sensor=false