使用Google Maps API的最近城市

use*_*613 5 google-maps google-maps-api-3

我不是编程员或程序员,但我雇用了一些人为我这样做.在计算机功能方面,我也不是完全天真的......

开发人员告诉我,谷歌地图api无法反转地理编码,并准确地返回正确的城市.我不相信这个,因为我看到api返回一个带有城市的格式化地址.开发人员说他们只能从API中提取一个字段,并且因为城市名称位于地点字段或邻域字段中,所以他们无法确定哪个字段用于不同的坐标.这些真实的陈述?

我也被告知,当坐标存在于水上(主要是在海洋中)时,最近城市的反向地理编码是不可能的.例如,圣迭戈以西5英里的坐标是否真的无法让圣地亚哥回归最近的城市?

我在这里搜索了解决方案,并找到了一些与此相关的内容,我已将其转发给开发人员......但我希望能够采用这个确切的主题并向他们展示.使用Google Maps API,这些事情真的不可能吗?

感谢您的帮助!

Ste*_*ett 8

请参阅此文档,了解Google Maps JavaScript API中的反向地理编码,详细说明如何在可读地址中转换坐标.

你的第一个陈述是真的:

如有必要,您可以在Geocoder的结果中读取阵列中的所有字段.如果address_components数组的元素locality在types,城市名称是它的一部分.但是,并不保证始终存在这个元素或所需的元素.看看上面链接中类型的层次结构,这可能是响应的一部分.当你说你要搜索的元素neighborhood和locality,它的声音对我来说,你想强制一个特定的名称.这几乎是不可能确定的.

第二个状态,关于最近的城市是真的.以下是文档中的声明:

反向地理编码不是一门精确的科学.地理编码器将尝试在特定容差内找到最接近的可寻址位置.

关于这种宽容的维度没有任何说明.您在圣地亚哥以西5英里处的示例可以返回有关圣地亚哥,北太平洋或科罗纳多的数据,这些数据位于圣地亚哥县.

相信你的开发者!

编辑:这取决于你想做什么.如果您总是希望在您的请求中使用城市名称,请忘记它,您无法保证.

这个答案中描述了一些zipcode API .但同样,你必须以某种方式得到Zipcode,并且postal_code它并不总是响应的一部分.没有其他API,如地理编码可以将坐标转换为可读地址的API.但是这里列出了一些.