76

我的任务是验证输入到我当前正在创建的系统中的地址。系统要求根据有效数据源验证输入的地址。在英国,数据集来自皇家邮政,访问成本很高。

所需的数据是整个欧洲的邮政编码信息,以通过 API 访问 Web 应用程序开始。

有很多公司提供这项服务,

  1. 质量保证
  2. 卡普扫描
  3. 任何地方的邮政编码

这些都提供了我需要的服务。然而,这是昂贵的,并且在某些情况下不是完整的数据集。例如不是爱尔兰

我还想知道是否有办法利用 Google Maps API 通过邮政编码和国家/地区验证这些数据。

谷歌地图方法是否可行,还是我必须走这些昂贵公司之一的路线?关于我应该采取什么路线的任何想法。

4

10 回答 10

42

答案可能取决于您获得支持和可能的定制服务对您来说有多重要。

谷歌当然可以做到这一点。查看他们的 XML 和地理编码 API。您应该能够制作一条 XML 消息,要求 Google 返回给定地址的地图坐标。如果未找到地址(无效),您将收到适当的响应。这是一个有用的页面:http ://code.google.com/apis/maps/documentation/services.html#XML_Requests

请注意,Google 提供 Maps API 的目的是在实际地图上绘制地址。虽然您当然可以将这些数据用于其他目的,但如果其中一张地图不完全符合您的法律或商业地址验证需求,您将任由 Google 摆布。如果您为您提到的其中一项服务付费,如果某些地址无法按照您期望的方式解决,您可能会获得支持。

换句话说,你得到你所支付的;)。但是,如果您有时间,为什么不尝试实施基于 Google 的解决方案,然后从那里着手呢?API 看起来很漂亮,毕竟它是免费的。

于 2009-03-25T21:02:04.347 回答
31

Google 的地理编码 API 可以满足您的需求。正如 Xerus 指出的那样,只要您不在非谷歌地图上使用地理编码点,您就应该很好(服务条款)。具体来说,

3.1 Use without a Google Map. Customer may use Google Maps Content from the Geocoding API in Customer Applications without a corresponding Google Map.


3.3 No use with a non-Google map.  Customer must not use Google Maps Content from the Geocoding API in conjunction with a non-Google map.
于 2009-07-29T17:12:39.003 回答
27

我既是 Web 开发人员,也是您提到的其中一家公司的前雇员。我完全理解你来自哪里。验证地址似乎是一个很容易解决的问题,但它更像是一座冰山。我想一种解决 Google 或 Yahoo! 的法律限制的方法!地图 API 是要求您的用户在地图上验证他们的地址。不过,如果我在你的位置上,我不会走那条路。

地址验证服务如此昂贵的原因是它们需要许可证以及与脾气暴躁的官僚邮政当局(包括皇家邮政)的持续关系。不幸的是,邮政当局是验证地址的最佳(通常也是唯一)数据来源,因此实际上没有任何其他方法可以解决这个问题。最重要的是,您需要权衡错误地址的成本(通常是邮件数量问题)与验证它们的软件成本。爱尔兰邮政数据比爱尔兰邮政格式(经常省略建筑物编号)更垃圾,因此您对这些地址几乎无能为力。

于 2010-03-15T06:12:03.483 回答
13

答案取决于您对数据的信任程度以及数据的使用方式。例如,如果您将其用于邮寄或运输,您需要确信数据是正确的。如果您只是将其用作另一种欺诈预防机制,那么您可能会允许一定程度的错误潜入数据中。

如果您想要任何程度的真实准确性,则需要使用进行真实地址验证的服务,并且您将不得不为此付费。正如 Adam 所提到的,地址验证和验证起初看起来简单易行,但它是一个充满挑战的黑洞,除非您有一些基础数据可以使用,否则几乎不可能自己完成。相信我,您实际上是通过使用服务来省钱。欢迎你自己走这条路来体验我的意思,但我可以保证你会看到光明,可以这么说,即使在你转动车轮几个小时(或几天)之后。

我应该提一下,我是 SmartyStreets 的创始人。我们确实提供验证和验证地址,我们也为美国和国际提供此地址。我非常乐意亲自回答您关于地址清理、标准化和验证的任何问题。

于 2011-10-13T11:40:54.900 回答
4

另一种选择是YADDRESS

于 2011-10-10T15:25:20.040 回答
2

根据 FedEx 的 api 验证它。他们有一个 API 可以从 XML 代码生成标签。该过程涉及验证地址的步骤。

于 2010-04-19T20:34:58.957 回答
0

谷歌基础(免费)不提供地址验证(地理编码),因为没有英国邮政编码许可证。

这意味着邮政编码搜索非常不准确。邻近搜索非常差,即使是城镇搜索,通常也无法识别位置。

这就是为什么谷歌有一个首要的企业解决方案,它仍然更昂贵,不如像 bing 和 Via Michelin 这样也有 API 的商业地图专家。

作为一名自由职业开发者,如此严肃的企业会使用谷歌,因为该系统很弱,并且确实提供了一个淡化的解决方案。

于 2010-04-20T08:56:14.333 回答
0

我知道这篇文章有点陈旧,但如果有人发现它仍然相关,您可能想查看南加州大学提供的免费地理编码服务。这确实包括通过 ajax 和静态调用进行地址验证。唯一的问题是他们要求返回链接,并且只提供 2500 个呼叫的分配。不仅仅是公平。 https://webgis.usc.edu/Services/AddressValidation/Default.aspx

于 2011-02-11T19:22:43.887 回答
0

您可以考虑使用验证国际地址的 CDYNE 的 PAV-I API。 国际地址验证 它们涵盖 240 多个国家/地区,因此它应该涵盖您要验证的所有国家/地区。

于 2012-02-09T22:28:53.270 回答
0

一个很棒的博客,描述了 14 个地址查找器: https ://www.conversion-uplift.co.uk/free-address-lookup-tools/

许多地址自动填充服务,包括 Google 的 Places API,似乎都提供国际地址支持,但准确性有限。

例如,新西兰地址和地理位置数据可从新西兰土地信息 (LINZ) 免费下载。当用户从 Google 或 Address Doctor 搜索地址(例如 76 Francis St Hauraki)时,将返回肯定匹配。匹配地块,但不匹配邮政/送货地址,即 76A 或 76B。这个问题在单一地块上的公寓和单元中被放大了。

为获得 100% 的准确性,请使用特定国家/地区的地址查找器,例如https://www.addy.co.nz用于新西兰地址自动填充。

于 2018-07-23T21:35:08.480 回答