我正试图在某一点的 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英里。有人可以为我建议一个快速的解决方法吗?
提前感谢所有人。
答案 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
有关如何使用文本搜索请求的详细信息
答案 1 :(得分:0)
打开Google地图并保存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
}
重要提示:选择触发点时,这些点应根据您的半径值相交。所以你不要错过任何餐馆