地理编码API查询限制超出

时间:2016-05-24 07:12:31

标签: php json google-maps google-maps-api-3 latitude-longitude

Geocode API每天允许2500个请求,但我的网站在一天内没有发送此类请求。是我的代码发送自动请求?

function getmap($addrss,$location,$city){

$address = $addrss.' '.$city.' '.$location;
$prepAddr = urlencode($address);

$geocode=file_get_contents('http://maps.google.com/maps/api/geocode/json?address='.$prepAddr.'&sensor=false');

$output= json_decode($geocode);

$lat = $output->results[0]->geometry->location->lat;
$long = $output->results[0]->geometry->location->lng;
$retval = $lat.'*'.$long;
return $retval;

}

回复

[error_message] =>您已超出此API的每日请求配额..... [status] => OVER_QUERY_LIMIT)

请提供任何建议。

2 个答案:

答案 0 :(得分:0)

API Example I've looked up它专门请求将API密钥附加到请求URL,可能就是这样吗?否则我猜是偶然的循环请求。

最好将API Key设置在此函数之外,以防此类/对象中的其他函数也想要访问API。

$geocode=file_get_contents('http://maps.google.com/maps/api/geocode/json?address='.$prepAddr.'&sensor=false&key='.$API_KEY);

答案 1 :(得分:0)

尝试使用google浏览器密钥,如下所示,以便每天获得更多请求

http://maps.google.com/maps/api/geocode/json?key=YOUR_GOOGLE_MAP_API_KEY&address=los+Angels

按照以下步骤获取GOOGLE API密钥

  1. 转到Google Developers Console。
  2. 创建或选择项目。
  3. 点击“继续”以启用API和任何相关服务。
  4. 在“凭据”页面上,获取浏览器密钥(并设置API 凭证)。
  5. (可选)启用结算功能。
  6. 注意:如果您有现有的浏览器密钥,则可以使用该密钥。 为防止配额被盗,请按照这些最佳做法保护您的API密钥。