本常见问题解答涵盖特定于 Geocoding API 的问题。 如有问题,请参阅 Google Maps Platform 常见问题解答 所有 Google Maps Platform 都是通用的。另请参阅 对地址进行地理编码时的最佳做法。
问题排查
- 我使用地理编码器时遇到更多返回 ZERO_RESULTS 的查询。这是怎么回事?
- 我需要快速响应,而地理编码器响应过慢,无法满足我的应用需求。什么可以 我可以使用 提高响应速度吗?
- 如何缩短 Directions API 和 Directions API 的延迟时间 Distance Matrix API?
- 我是专业版方案客户, Places API 太贵了。我该如何降低费用?
- 如何在地理编码器中报告 bug?
- 地理编码器无法为我的用例生成良好的结果。我可以获得哪些帮助?
- 如何使用组成部分过滤功能,通过地理编码器获得最佳效果?
问题排查
- 我使用地理编码器时遇到更多返回 ZERO_RESULTS 的查询。这是怎么回事?
-
在地理编码器中,存在不明确、不完整和格式错误的查询,例如 拼写错误或不存在的地址,易于生成 ZERO_RESULTS。 如果找不到该地址,最好使用 ZERO_RESULTS 结果(例如,仅返回郊区,而不是地址)。
如果您的应用需要处理用户输入的地址, 地点自动补全功能 Places API 中的 API 生成质量更高的结果。 地点自动补全功能让用户可以根据 该功能让用户可以在名称相似的搜索结果、 并在地址拼错时调整查询。
如果您的应用需要处理含糊不清或不完整的查询或查询 则建议您使用 地点自动补全功能 而不是正向地理编码器中 。有关详情,请参阅 对地址进行地理编码的最佳实践和 <ph type="x-smartling-placeholder"></ph> Google Maps API 博文中的地址地理编码。
- 我需要快速响应,而地理编码器响应过慢,无法满足我的应用需求。什么可以 我可以使用 提高响应速度吗?
-
我们建议,响应用户输入内容的应用 对延迟敏感,请使用地点自动补全 功能(也提供 JavaScript、 Android 或 iOS),而不是地址地理编码。 地点自动填充针对交互式用途进行了优化,因此延迟时间很短。
Geocoding API 中的地址地理编码已经过优化,可用于 完整、不模糊、格式正确的地址,例如您在此输入的配送地址 在线表单,因此延迟时间比地点自动补全服务长。正向地理编码器 覆盖面更广,结果质量更好,但延迟时间略长。
- 如何缩短 Directions API 和 Directions API 的延迟时间 Distance Matrix API?
-
使用地点 ID(而非地址) 指定航点、出发地和目的地最好通过 地点自动补全 功能或 地点库中的 Maps JavaScript API。有关
placeIdOnly
选项,它可用于降低 地点自动补全。使用 Directions API 或 Distance Matrix API 时 使用地址字符串而不是地点 ID 或 latlng 进行查询,两者使用相同的 作为 Geocoding API 将该地址转换为 然后再计算路线。地点自动补全比地址搜索更快 进行地理编码。对于使用 Directions API 或 Distance Matrix API 适用于对延迟极为敏感的情况,例如 响应用户输入,我们建议您使用地点自动补全功能来获取地点 ID 并将地点 ID 传递给 Directions API 或 Distance Matrix API。 这种方法可显著缩短延迟时间。请参阅我们的文档 示例:如何将地点自动补全与路线搭配使用。
- 如何在地理编码器中报告错误?
-
如果您有 bug 报告或 <ph type="x-smartling-placeholder"></ph> 功能请求,请通过我们的公共 问题跟踪器。
- 地理编码器无法为我的用例生成良好的结果。我可以获得哪些帮助?
-
请通过我们的公开信息告知我们 问题跟踪器,共享一些具体的查询,以便我们展开调查。 看看是否有任何错误或系统性问题导致 或者我们可以对 最佳实践指南 帮助开发者获得更好的成效
- 如何使用组成部分过滤,通过地理编码器获得最佳效果?
-
在地理编码器中, 组件过滤只会强制执行
postal_code
和country
项限制。以下示例说明了如何以最佳方式使用组件 具体取决于您需要的结果。在示例请求网址中,请务必 将“YOUR_API_KEY”替换为您的实际 API 密钥。- 要将邮政编码范围限定为特定国家/地区,请务必指定国家/地区限制
(使用 ISO 3166-2 国家/地区代码)。
例如:
components=country:CH|postal_code:8000
会返回“8000 Zürich, Switzerland”。https://maps.googleapis.com/maps/api/geocode/json?components=country:CH%7Cpostal_code:8000&key=YOUR_API_KEY
- 要将查询限制在特定国家/地区,请务必使用
ISO 3166-2 国家/地区代码。国家/地区
但不一定能生成与国家/地区代码相同的结果。
示例:
components=country:FRA|locality:gallus
退货的地理编码 是德国美因河畔法兰克福的加卢斯市的副市级行政区。这是因为 不支持法国 (FRA) 的国家/地区代码,因此允许返回任何国家/地区的结果 而法兰克福的结果比法国的结果更合适。https://maps.googleapis.com/maps/api/geocode/json?components=country:FRA%7Clocality:gallus&key=YOUR_API_KEY
- Geocoding API 不一定会针对模糊查询返回多个结果。此类
地点自动补全功能可以更好地解答查询的问题。
示例:
components=country:US|locality:madrid
退货的地理编码 “Madrid, NM 87010, USA”但美国名叫“马德里”的城市都不存在。https://maps.googleapis.com/maps/api/geocode/json?components=country:US%7Clocality:madrid&key=YOUR_API_KEY
- 将地点自动补全功能用于
input=madrid&components=country:us&types=(regions)
,还可以指定 使用location
和radius
设置视口, 偏向位置结果,生成包含多个城市的响应 名为“Madrid”https://maps.googleapis.com/maps/api/place/autocomplete/json?location=37.386052,-122.083851&radius=10000&input=madrid&components=country:us&types=(regions)&key=YOUR_API_KEY
- 要将邮政编码范围限定为特定国家/地区,请务必指定国家/地区限制
(使用 ISO 3166-2 国家/地区代码)。
例如: