google-maps - 使用 Google map API 的最近城市

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

我不是编码员或程序员,但我已经雇了一个人来帮我做这件事。当谈到计算机功能时,我也不是完全天真......

开发人员告诉我,不可能在谷歌地图 API 中反转地理编码并使其准确返回正确的城市。我不相信这一点,因为我看到 api 返回一个格式化的地址,其中包含城市。开发人员表示,他们只能从 API 中提取一个字段,并且由于城市名称位于位置字段或邻里字段中,因此他们无法确定不同坐标使用哪个字段。这些是真实的陈述吗?

我还被告知,当坐标存在于水面上(主要是在海洋中)时,对最近的城市进行反向地理编码是不可能的。例如,圣地亚哥正西 5 英里的坐标是否不可能将圣地亚哥返回为最近的城市?

我在这里搜索了解决方案,发现了一些与此相关的解决方案,我已将其转发给开发人员......但我希望将这个确切的线程也展示给他们。这些事情对于 Google Maps API 真的不可能吗?

感谢您的帮助!

最佳答案

在本文档中查找 reverse geocoding在 Google Maps JavaScript API 中,了解如何将坐标转换为可读地址的详细说明。

你的第一个陈述是正确的:

如有必要,您可以从地理编码器结果中的数组中读取所有字段。如果 address_components 数组在 types 中有一个元素 locality,则城市名称是其中的一部分。但保证总是包含此元素或所需的元素。查看上面链接中类型的层次结构,这可能是响应的一部分。当你说你必须搜索元素 neighborhoodlocality 时,在我看来你想强制使用一个特定的名称。这几乎是不可能确定的。

第二个陈述,关于最近的城市是正确的。以下是文档中的声明:

Reverse geocoding is not an exact science. The geocoder will attempt to find the closest addressable location within a certain tolerance.

没有说明这种容忍的程度。您的圣地亚哥以西 5 英里的示例可以返回有关圣地亚哥、北太平洋或位于圣地亚哥县的科罗纳多的数据。

相信您的开发人员!

编辑:这取决于你想做什么。如果您总是想在请求中包含城市名称,请忘记它,您无法保证这一点。

answer 中描述了一些邮政编码 API 。但同样,您必须以某种方式获取邮政编码,并且 postal_code 并不总是响应的一部分。没有其他 API(例如地理编码 API)可以将坐标转换为可读地址。但有一些列出了 here .

关于google-maps - 使用 Google map API 的最近城市,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23799464/

相关文章:

android - Google map v2 自定义图 block 提供程序

javascript - 重新添加谷歌地图标记

iPhone 开发 - 在 map 上显示两个位置

google-maps -//maps.google.com/maps/api/js 的子资源完整性值

css - 将代码移至现有应用后,Google map 标记不可见

google-maps-api-3 - 使用 Google Maps Distance Matrix API 时是否可以通过多种出行方式

google-maps - 使用某些航路点时,谷歌路线不会返回任何路线

ios - Google map ios - 如何始终显示标记信息窗口?

javascript - 在 Google Maps API v3 中获取自定义图 block 的中心 LatLng 点

javascript - 在google maps api中移动一个圆圈