该在线谷歌地图API文档为他们的地理编码API的状态:
通常,地址查询只会返回“结果”数组中的一项,但当地址查询不明确时,地理编码器可能会返回多个结果。
但是,如果您为“ Smith Street ”打了这个例子(那算是模棱两可的吧?),您只会得到一个结果。
https://maps.googleapis.com/maps/api/geocode/json?address=smith%20street&components=country:GB
那么,如果史密斯街不是模棱两可的,那是什么?还是这个API只返回一个结果的现实?
这些文档在暗示您可以搜索地点并根据地点名称或不明确的地址获得所有地点时,具有极大的误导性。实际上,在我所有的试验中,他们总是返回零或一个结果。
例:
*搜索“肯德基”将返回零结果!
*搜索“肯德基柏林”将返回一个结果!
总之,如果您没有准确的地址,请不要使用地理编码来检索经纬度和经度!
相反,你应该使用 “地方搜索”,说明这里。
为什么? 如果您查看此Google Maps API博客,则会显示:
地理编码API最适合处理明确的查询,例如完整的邮政地址字符串。如果您的应用程序处理模棱两可或不完整的查询(例如“ 123 Main St”),或者处理可能包含非地址信息(例如公寓号或商户名称)的查询,则不建议使用地址解析API。
但是,使用Places API的“位置搜索”在搜索语义位置和地址(包括商家和景点)方面要聪明得多。
如果要让用户使用GUI搜索地点,则可以使用“地点自动填充”,但是它们还会根据用户从自动完成列表中选择的确切选项在地图上标记一个位置。您可以在此处找到教程