【问题标题】:How can I geocode using the components parameter with the Google Maps Javascript API v3?如何使用 Google Maps Javascript API v3 的 components 参数进行地理编码?
【发布时间】:2013-04-29 21:47:07
【问题描述】:

我正在尝试使用 Google 的地理编码器通过 ISO 代码查找国家/地区。如果我通过 components 参数(即 components=country:US),这是直接且可靠的。但是,我已经阅读了文档,看起来 Maps Javascript API v3 不支持此参数。由于 Google 的地理编码器不再支持 JSONP,我不能只使用 ajax。

有没有办法在 JS API 中指定组件,或者有没有我没有想到的解决方法?

非常感谢任何帮助。

【问题讨论】:

标签: google-maps google-maps-api-3 google-geocoder


【解决方案1】:

当我将 ISO 代码用作 address-property 并另外用作请求的 region-property 时,它适用于我。

【讨论】:

  • 有时在区域和地址中使用 ISO 可能会起作用,但并非总是如此。有时地理编码器甚至不会返回具有该 ISO 的国家/地区。例如,AL 是阿尔巴尼亚的 ISO,但 maps.googleapis.com/maps/api/geocode/… 仅返回 Alabama
  • Region 不使用 ISO 3166-1,它使用“国家代码顶级域 (ccTLD)”,这是一个类似的列表,但不完全相同。此外,该阿尔巴尼亚链接现在确实返回了阿尔巴尼亚,所以当时这可能只是一个错误。不过,用于组件的国家代码是 ISO 3166-1。
【解决方案2】:

我不情愿地硬编码了一个从 ISO 到国家名称的映射。让我有点恶心,但你必须做你必须做的......

【讨论】:

    猜你喜欢
    • 2013-10-05
    • 2013-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-18
    • 1970-01-01
    • 2011-07-17
    • 1970-01-01
    相关资源
    最近更新 更多