Google Maps API距离矩阵请求

时间:2016-08-12 09:32:56

标签: php google-maps google-maps-api-3 google-distancematrix-api

我已经使用Google Distance Matrix API一段时间来计算我网站上的消费者和企业之间的距离;我目前碰到了一堵墙,看到我的报价命中2,500,之后不再处理请求。

然后我决定快速阅读文档,看看我能做些什么就可以一石二鸟,所以说,并在API Usage Limits Page看到你每个请求有25个来源和25个目的地。

这是否意味着在一个请求中我可以连接25个来源和目的地并返回他们的里程。

这是我用来获取消费者和客户之间关系的PHP代码:

final public function Distance($A, $B){

    $URL = "https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=".urlencode($A)."&destinations=".urlencode($B)."&key=API_KEY_HERE";
    $Data = json_decode(file_get_contents($URL));

    return str_replace(" mi", "", $Data->rows->elements->distance->text);        
}

2 个答案:

答案 0 :(得分:0)

配额是按要素计算的:

  

标准API的用户:

     

每天2,500个免费元素,以客户端和服务器端查询的总和计算。

此外:

  

发送到Google Maps Distance Matrix API的每个查询都受到允许元素数量的限制,其中原始数量乘以目标数量来定义元素数量。

在请求中添加更多的来源/目的地不会增加在达到配额之前可以检索的距离。

答案 1 :(得分:0)

我希望它会起作用.....

final public function Distance($A, $B){

    $URL = "https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=".urlencode($A)."&destinations=".urlencode($B)."&key=API_KEY_HERE";
    $Data = json_decode(file_get_contents($URL));

    return str_replace(' mi', '',$Data->rows[0]->elements[0]->distance->text);        
}