Google将雷达搜索的半径大于50,000米

时间:2017-03-29 18:36:10

标签: google-maps google-maps-api-3 google-places-api

我正试图在某一点的 200英里范围内找到所有Panera餐厅。

以下是我目前使用的网址:

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=39.52963,-119.81380&radius=321869&type=restaurant&name=panera&key=your-key-here

但是,我发现半径最大值为30英里。有人可以为我建议一个快速的解决方法吗?

提前感谢所有人。

2 个答案:

答案 0 :(得分:0)

higher usage limits的营业执照。 Contact Google sales

谷歌附近搜索最多50,000米(31英里)。 如果您尝试输入超过50,000,则无法正常工作。

还有另一种方法可以找到一个城市的所有餐馆。 谷歌提供文本搜索请求

https://maps.googleapis.com/maps/api/place/textsearch/json?query=restaurants+in+Reno,NV,89501,USA&key={API_KEY}

query = keyword + in + city Name

使用latitude longitude

获取城市名称
http://maps.googleapis.com/maps/api/geocode/json?latlng=39.52963,-119.81380&sensor=true

有关如何使用latitude longitude

获取城市名称的详细信息

https://developers.google.com/maps/documentation/geocoding/start?csw=1#ReverseGeocoding

有关如何使用文本搜索请求的详细信息

https://developers.google.com/places/web-service/search

答案 1 :(得分:0)

打开Goog​​le地图并保存8-10分或更多点'lat,long值以触发您的请求。然后使用循环查找这些点内的所有位置。如果您想要更精确的结果,请为您的请求增加第一个触发点。

我试过,它有效。

假设我们正在使用php

$triggerPoints = array("lat1,long1", "lat2,long2", "lat3,long3",....);

foreeach(triggerPoints as $t){
   $requestUrl = "https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=$t&radius=[YOUR_RADIUS_VALUE]&type=restaurant&name=panera&key=your-key-here";
   $results = file_get_contents($requestUrl);
   //Do what you want with response JSON data

}

重要提示:选择触发点时,这些点应根据您的半径值相交。所以你不要错过任何餐馆