我有一个关于Google Autocomplete rest api的问题。
我只需要返回某些半径的预测,但是" radius“参数不会过滤不正确的结果。目前,我从其他城市甚至其他国家获得了结果。
如何强制google autocomplete不包含任何超出请求半径的结果?
发布于 2012-10-05 05:00:58
location
和radius
参数仅用作结果的偏差,当前无法将结果限制为特定半径。但是,您可以通过传递documentation中详细介绍的components
参数,将结果限制在特定国家/地区。
如果使用location
、radius
和component
参数,很可能会得到所需的结果。
例如,搜索位于澳大利亚墨尔本的lat,lng位置,半径50 is,国家限制为澳大利亚的埃菲尔铁塔返回“埃菲尔铁塔巧克力和糖果”,因为实际的埃菲尔铁塔不在半径内,也不在请求限制的国家:
发布于 2012-10-03 08:19:58
您可以使用可选参数radius
。
半径-返回置入结果的距离(以米为单位)。请注意,设置半径会将结果偏置到指定区域,但可能不会将结果完全限制在指定区域。参见Location Biasing。
发布于 2012-10-03 12:21:38
我能看到的强制执行此操作的唯一方法是在执行搜索时获得的结果数组中自己进行过滤。我还没有使用自动完成API,但是您似乎正在使用Maps API进行搜索?在这种情况下,您可以获得a GeocoderResult object,您可以检查项目的坐标,并将它们与所需的点和半径进行比较。
有点老生常谈,但相当直白。
https://stackoverflow.com/questions/12704448
复制相似问题