Google maps 谷歌的雷达搜索半径超过50000米

Google maps 谷歌的雷达搜索半径超过50000米,google-maps,google-maps-api-3,google-places-api,Google Maps,Google Maps Api 3,Google Places Api,我正试图找到某个点半径200英里范围内的所有Panera餐厅 以下是我到目前为止一直使用的URL: 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英里。有人能给我建议一个快速的解决方

我正试图找到某个点半径200英里范围内的所有Panera餐厅

以下是我到目前为止一直使用的URL:

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英里。有人能给我建议一个快速的解决方法吗

提前感谢所有人。

营业执照。

Google place附近搜索最大距离为50000米(31英里)。 如果您尝试输入超过50000,则无法正常工作

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

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

https://maps.googleapis.com/maps/api/place/textsearch/json?query=restaurants+in+Reno,NV,89501,USA&key={API_KEY}
使用
经纬度获取城市名称

http://maps.googleapis.com/maps/api/geocode/json?latlng=39.52963,-119.81380&sensor=true
有关如何使用
经纬度获取城市名称的详细信息

http://maps.googleapis.com/maps/api/geocode/json?latlng=39.52963,-119.81380&sensor=true

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


打开谷歌地图,保存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

}

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

谢谢哈希尔,我也有同样的想法。问题是,使用文本搜索也不会返回30英里范围以外的餐馆。我的解决方案是收集方圆200英里范围内所有邮政编码的列表,然后以“restaurants in[zip code]”的形式进行文本搜索,然后将所有结果编译到一个表中,然后只筛选我想要的餐馆。你能想出比这更简单的解决办法吗?我的似乎很复杂。商业许可证要求更高的使用限制。联系谷歌销售。使用数学。使用多个半径较小的通话,查找其他点并覆盖31英里半径。