【问题标题】:Google Geocoder returns incomplete zipcodeGoogle Geocoder 返回不完整的邮政编码
【发布时间】:2014-11-05 10:25:47
【问题描述】:

我正在使用谷歌地理编码器来检查用户输入的地址是否正确。例如,用户输入了正确的街道和城市名称,但输入了错误的邮政编码。我想检查来自谷歌的邮政编码是否与输入的不同并显示建议。 但这不适用于巴西、荷兰和其他国家。例如,一个有效的巴西邮政编码是 01421-020,但是当我发送这个时,地理编码器只返回 01421。这也发生在其他国家。为什么谷歌没有返回完整的邮政编码?

编辑: 我正在使用这个包:https://github.com/geocoder-php/Geocoder 当我尝试提交此地址时:

R。 Pedroso, 215, 圣保罗 01322-010

执行的查询链接为:https://maps.googleapis.com/maps/api/geocode/json?address=R.%20Pedroso%2C%20215%2001322-010%20S%C3%A3o%20Paulo&sensor=false&language=pt_BR&region=BR 如果你点击它,你可以在结果中看到返回的邮政编码是 01322,最后没有 -010

【问题讨论】:

  • 你能提供一个示例请求吗?仅仅发送一个原始的邮政编码是行不通的,因为即使是人类也很难正确解释......
  • 返回部分匹配。如果您删除街道号码,它会找到完全匹配的号码,并返回完整的邮政编码。
  • @GabyakaG.Petrioli 这确实有效,但我需要街道号码,因为我正在开发的系统提供家庭服务,我们需要详细地址。知道为什么 Google 在提供街道号码时只返回部分邮政编码吗?
  • 不确定它是否万无一失,但如果您在 address_components 中收到 postal_code_prefix,您可能需要进行第二次请求。一个没有门牌号(只是为了获取完整的邮政编码)。
  • @faust,你有没有设法对 SP 大写邮政编码(5 位数)进行地理编码?我无法对诸如“圣保罗 01000”之类的邮政编码进行地理编码,因为谷歌认为这是一个街道号码

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


【解决方案1】:

我对巴西的邮政编码不太熟悉,但如果我理解正确,您的 8 位邮政编码类似于我们在美国的 +4 邮政编码。美国的大多数邮件仅使用 5 位数的邮政编码,例如 95014,即使完整的邮政编码可能为 95014-7845。 USPS 仍会投递此邮件,而且 +4 代码不经常使用。

Google 似乎不支持完整的 8 位或 9 位邮政编码(即使在美国也是如此),我认为这是因为他们认为不需要额外的数字,或者他们无权访问数据。

【讨论】:

    猜你喜欢
    • 2018-05-26
    • 1970-01-01
    • 2020-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-27
    • 2011-05-19
    • 2018-10-17
    相关资源
    最近更新 更多