json - Google map 地理编码 - 从不返回多个结果

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

Google Maps API documents online对于他们的 Geocode API 状态:

Generally, only one entry in the "results" array is returned for address lookups,though the geocoder may return several results when address queries are ambiguous.



但是,如果您点击 this example for 'Smith Street' (这算是模棱两可,对吧?)你只会得到一个结果。

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

所以,如果史密斯街不是模棱两可的,那是什么?或者这个 API 只返回一个结果的现实?

最佳答案

当它暗示您可以搜索地点并根据地名或不明确的地址获取所有位置时,这些文档非常具有误导性。实际上,他们总是只在我所有的试验中返回零或一个结果。

例子:

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

*搜索“KFC berlin”返回一个结果!

总之,如果您没有准确的地址,不使用地理编码 检索 lats 和 longs 时期!

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

为什么?
如果你检查这个 Google Maps API blog , 它说:

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

但是,使用 Places API 的“Place search”在搜索语义位置和地址(包括企业和兴趣点)方面更加智能。

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

关于json - Google map 地理编码 - 从不返回多个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34628171/

相关文章:

c# - 无法将类型 'System.String' 的对象转换为类型 'System.Collections.Generic.List` 1

ios - 在 iOS 的 Google Maps SDK 中启用方向

api - 如何在 Google map 中锁定国家/地区

Python多线程: manager dict not serializable

json - 在推送到 ko.observableArray 之前格式化 JSON 日期

Android Studio 指责 Google Repository 未安装在 SDK Manager 中

ios - 计算 iOS map 上两点之间的距离

javascript - Google map Javascript API 无法在移动网站上运行

javascript - Google Maps Javascript API - bounds.contains 方法

json - 将对象转换为可编码对象失败: 'Offset'的实例