【问题标题】:Geocode returns postal_code null for certain address地理编码为特定地址返回 postal_code null
【发布时间】:2016-08-14 07:51:46
【问题描述】:

Geocode 为某些地址返回 postal_code 值 null,我无法进行反向地址查找以检索该级别的 zip。 示例地址是“Peachtree Dunwoody Road, Atlanta, GA, United States” 没有门牌号;邓伍迪也是附近的一个城市名称。并非所有两个单词街道名称都会发生这种情况,但仅当单词之一(街道名称中的第二个)也是城市名称时才会发生。

它适用于大多数情况,但仅适用于少数特定类型,即“Peachtree Street Northwest, Atlanta, GA, United States” 搜索是“地址”。 geoLocationScript: "https://maps.googleapis.com/maps/api/js?", geoLocationSensor: "sensor=false",

这是谷歌故障吗?有什么解决办法吗?

【问题讨论】:

  • 您是如何从地址中获取 postal_code 的?请提供一个 minimal reproducible example 来证明该问题。请注意,地理编码器返回的某些位置条目将没有 postal_codes(正如您所发现的),“Peachtree Dunwoody Road, Atlanta, GA, United States”的响应类型为“GEOMETRIC_CENTER”。 “道路”没有邮政编码。

标签: google-maps google-maps-api-3 google-geocoder geocode postal-code


【解决方案1】:

邮政编码实际上只对应于邮寄路线。 “Peachtree Dunwoody Road, Atlanta, GA, United States”不是邮寄地址,因此 Google 正努力为您提供最好的结果,在准确性和实用性之间取得平衡。 “Peachtree Dunwoody Road”很可能穿越了多个邮政编码,Google 会在道路的几何中心返回一个大头针(尝试在地图中搜索),但不会尝试猜测邮政编码。邮政编码可能很复杂,除非整条街道都包含在一个邮政编码中,否则最好不要猜测。例如,有时,道路的东侧有一个邮政编码,而西侧有不同的邮政编码。

至于有没有变通办法,我相信答案是否定的。为了说明,您可以查看SmartyStreets demo site 并尽可能填写地址组件。我刚试过“Peachtree Dunwoody Road, Atlanta, GA, United States”。在我打字的时候,SmartyStreets 给出了以下三个结果:

  • 乔治亚州亚特兰大 Peachtree Dunwoody Rd
  • W Peachtree Dunwoody Rd, Atlanta GA
  • Peachtree Dunwoody Rd NE, 佐治亚州亚特兰大

完全披露:我曾在地址验证公司 SmartyStreets 工作。

【讨论】:

    【解决方案2】:

    地理编码器返回的某些位置条目没有邮政编码。 “Peachtree Dunwoody Road, Atlanta, GA, United States”的响应类型为“GEOMETRIC_CENTER”。

    “道路”不一定有邮政编码(它不是邮政地址)。

    【讨论】:

    • 如果我用仍然是道路的“Lawrenceville Suwanee Rd, Suwanee, GA, United States”调用相同的地理编码函数,则返回邮政编码。事实上,它里面有城市名称。
    • 也许这条道路完全包含在邮政编码中,具有邮政编码的道路示例并不意味着所有道路都有它们。
    猜你喜欢
    • 1970-01-01
    • 2015-12-08
    • 1970-01-01
    • 2016-03-23
    • 1970-01-01
    • 2013-06-14
    • 1970-01-01
    • 1970-01-01
    • 2017-12-25
    相关资源
    最近更新 更多