如何过滤Google自动完成API的结果,仅显示完整地址

时间:2015-05-18 23:29:13

标签: ios google-maps autocomplete google-api geocoding

完整地址,我指的是包含地址编号,街道名称,城市,州和国家/地区的地址

现在, 我将谷歌自动填充称为:

https://maps.googleapis.com/maps/api/place/autocomplete/json?key=%@&type=geocode&input=%@&sensor=true

问题是,退货不保证是完整地址(有时缺少地址编号和街道名称)

现在我甚至尝试更改类型参数(types = address)

https://maps.googleapis.com/maps/api/place/autocomplete/json?key=%@&types=address&input=%@&sensor=true

根据文档"地址指示地方自动填充服务仅返回具有精确地址的地理编码结果",它应该返回一个精确的地址。 尽管如此,结果仍然可能缺少字段(我认为主要是缺少地址编号)

现在有什么方法可以过滤掉自动完成的结果,使得返回列表只包含地址编号,街道名称,城市,州和国家?

我能想到的一个选项是首先获取自动完成结果,然后反转place_id中的每一个(这将为我提供所有属性[地址编号...城市,州,国家]),这将启用我在客户端本地过滤掉列表。但是这个解决方案太慢而且请求太多。如果可能的话,我不想选择这个选项。

感谢, 任何意见,建议和建议将不胜感激

1 个答案:

答案 0 :(得分:0)

我建议使用AutocompleteService而不是Autocomplete。 然后,您可以手动过滤结果列表。

请参阅此页面的示例: https://developers.google.com/maps/documentation/javascript/examples/places-queryprediction

希望它可以提供帮助。