【问题标题】:Error when trying to retrieve Address by Coordinates from Google Maps API尝试从 Google Maps API 按坐标检索地址时出错
【发布时间】:2018-08-09 13:17:00
【问题描述】:

我找不到根据坐标检索位置地址的解决方案。

这是我在 PHP 中使用的代码:

$url = "https://maps.googleapis.com/maps/api/geocode/json?latlng=45.791788,24.147599&result_type=street_address&key=[API KEY]&sensor=false";
$response = file_get_contents($url, true);

我得到的错误响应是:

{
   "error_message" : "API keys with referer restrictions cannot be used with this API.",
   "results" : [],
   "status" : "REQUEST_DENIED"
}

我没有为我正在使用的 API 密钥设置任何限制。

【问题讨论】:

  • “我没有为我正在使用的 API 密钥设置任何限制”谷歌显然不同意。您是否尝试过联系他们的支持人员?
  • 另外,如果你把那个 URL(包括你的密钥)放在你的浏览器中,你会得到什么结果?
  • 您的 IP 可能被阻止使用您的 API 密钥,您可以尝试使用其他 IP 地址吗?还要确保如果您在开发者控制台中设置了 IP 地址限制,则您已允许正确的 IP 地址,只需单击列表中的项目,您就会看到允许的 IP。
  • 我想说你有两个选择。 1) 弄清楚为什么 Google 认为您确实对该键有限制。 2) 生成一个新密钥并改用它。
  • 如果我用我的一个不受限制的密钥替换您的密钥,则上面链接中的 URL(在您的评论中)有效。创建一个新密钥,如果仍然不起作用,请联系 Google 支持。

标签: php google-maps google-geocoder


【解决方案1】:

似乎有两种类型的限制。应用程序限制和 API 限制。 虽然错误信息是关于 API Key 的,但实际上与应用程序的一些限制有关。已检查 HTTP 引荐来源网址(网站),但未定义域名。

我找不到适合我的子域的格式,所以我删除了所有应用程序限制,结果成功了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-23
    • 1970-01-01
    • 1970-01-01
    • 2011-08-03
    • 1970-01-01
    • 2016-12-17
    • 1970-01-01
    • 2011-04-06
    相关资源
    最近更新 更多