自动完成以返回半径范围内的结果

时间:2019-06-14 14:28:20

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

在我的Google Maps自动完成服务器端查询中,我试图返回纬度或经度附近的结果,到目前为止,我已经尝试过了

https://maps.googleapis.com/maps/api/place/autocomplete/json?key=<<KEY>>&types=geocode&sensor=true&language=en&location=40.64131109999999%2C-73.77813909999998&strictBounds=true&radius=10&input=london

40.64131109999999%2C-73.77813909999998是肯尼迪国际机场-肯尼迪国际机场的纬度和经度。

但是当搜索字符串是london时,仍然显示结果。知道如何将结果限制在一定的半径/边界或国家/地区吗?谢谢

1 个答案:

答案 0 :(得分:1)

这是我对您的网址请求的发现:

  • 您输入的strictBounds=true不正确,因为参数区分大小写,因此在请求中将其省略。应该改为strictbounds
  • 您也不需要=true,因为添加参数strictbounds足以将返回的位置限制在已定义的locationradius中。
  • 您包含的radius的值太小(10),可能会导致ZERO_RESULTS

您可以尝试以下请求:

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=london&location=40.64131109999999,-73.77813909999998&radius=10000&components=country:US&strictbounds&key=YOUR_API_KEY