Google Maps Geocode - 永远不会返回多个结果

时间:2016-01-06 07:56:51

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

Geocode API的Google Maps API documents online说明:

  

通常,只返回“results”数组中的一个条目   地址查找,虽然地理编码器可能会返回几个结果   地址查询不明确。

但是,如果你点击this example for 'Smith Street'(这是不明确的,对吗?)你只能得到一个结果。

https://maps.googleapis.com/maps/api/geocode/json?address=smith%20street&components=country:GB

所以如果 Smith Street 不明确,那是什么?或者这个API只返回一个结果的现实是什么?

1 个答案:

答案 0 :(得分:5)

当文档暗示您可以搜索地点并根据地点名称或不明确的地址获取所有地点时,它们是如此令人误解。实际上,在我所有的试验中,他们总是返回零或一个结果。

示例:

*搜索“肯德基”将返回零结果!

*搜索“肯德基柏林”将返回一个结果!


总而言之,如果您没有准确的地址,请不要使用地理编码来获取经纬度!

相反,您应该使用“地点搜索”,Here解释。

为什么? 如果您选中此Google Maps API blog,则会显示:

Geocoding API最适合处理明确的查询,例如完整的邮政地址字符串。 如果您的应用程序处理模棱两可或不完整的查询(例如“ 123 Main St”),或者处理可能包含非地址信息(例如公寓号或公司名称)的查询,则不建议使用Geocoding API。

但是,使用Places API进行“位置搜索”在搜索语义位置和地址(包括商家和景点)方面要聪明得多。

如果您想让用户使用GUI搜索地点,则可以使用“地点自动完成”功能,但它们还会根据用户从自动完成列表中选择的确切选项在地图上标记一个位置。您可以找到教程Here