使用 Google Maps API 进行地址验证

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

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

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

  1. QAS
  2. 扫描
  3. 任何地方的邮政编码

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

我还想知道是否有一种方法可以利用谷歌地图 API 通过邮政编码和国家验证这些数据。

谷歌地图的方法是可能的,还是我必须沿着这些昂贵的公司之一的线?你觉得我该选哪条路线。

214758 次浏览

答案可能取决于您获得此服务的支持和可能的自定义有多重要。

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

请注意,Google 提供 Maps API 的目的是在实际的地图上绘制地址。当然,你可以将这些数据用于其他目的,但如果谷歌的一个地图不完全符合你的法律或商业地址验证需求,那么你就只能听凭谷歌的摆布了。如果您支付了您提到的服务之一,您可能会得到支持,如果某些地址没有解决的方式,您期望他们。

换句话说,你得到了你所付出的;)。不过,如果你有时间,为什么不尝试实现一个基于 Google 的解决方案,然后再从那里开始呢?API 看起来相当圆滑,而且毕竟是免费的。

谷歌的 地理编码 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.

我既是一个网络开发人员,也是你提到的其中一家公司的前雇员。我完全理解你的想法。核实地址看起来是一个很容易解决的问题,但它实际上是一座冰山。我认为解决谷歌或雅虎地图 API 的法律约束的一个办法是要求用户在地图上验证他们的地址。如果我是你,我不会走那条路。

地址验证服务之所以如此昂贵,是因为它们需要许可证以及与脾气暴躁、官僚主义的邮政当局(包括英国皇家邮政)的持续关系。不幸的是,邮政当局是验证地址的最佳(通常也是唯一)数据来源,因此实在没有其他办法了。底线是您需要权衡错误地址的成本(通常是邮件量的问题)和验证它们的软件成本。爱尔兰的邮政数据甚至比爱尔兰的邮政格式(经常省略建筑编号)更垃圾,所以对于这些地址您几乎无能为力。

通过联邦快递的应用程序编码验证。它们有一个从 XML 代码生成标签的 API。这个过程包括一个验证地址的步骤。

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

这意味着邮政编码搜索非常不准确。这种最近邻搜索非常糟糕,即便是对于城镇搜索来说也是如此,往往无法识别地点。

这就是为什么 Google 有一个高级的和企业级的解决方案,这个解决方案仍然比较昂贵,而且不如像 bIng 和 Via Michelin 这样拥有 API 的商业地图专家。

作为一个自由职业的开发者,如此严肃的商业会使用谷歌作为系统的薄弱环节,并真正提供了一个稀释的解决方案。

我知道这篇文章有点老,但是如果有人发现它仍然相关的话,你可能想看看南加州大学学院提供的免费地理编码服务。这包括通过 ajax 和静态调用进行地址验证。唯一的问题是他们请求一个返回链接,并且只提供2500个呼叫的分配。非常公平。 Https://webgis.usc.edu/services/addressvalidation/default.aspx

另一个选择是 YADDRESS

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

如果你想要任何程度的真正的准确性,你需要一个服务,做真正的地址验证,你将不得不支付它。正如亚当所提到的,地址验证及确认起初看起来简单易行,但它是一个充满挑战的黑洞,除非你有一些基础数据可以利用,否则几乎不可能独自完成。相信我,使用服务实际上是在省钱。你可以自己走这条路去体验我的意思,但是我可以保证你会看到光明,可以这么说,即使只是几个小时(或者几天)的旋转你的轮子。

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

您可以考虑使用 CDYNE 验证国际地址的 PAV-I API。它们覆盖超过240个国家,所以它应该涵盖所有的国家,您正在寻求验证。

一个伟大的博客描述了14个地址查找器: Https://www.conversion-uplift.co.uk/free-address-lookup-tools/

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

例如,新西兰地址和地理位置数据可以从新西兰土地信息(LINZ)免费下载。当用户从谷歌或地址医生中搜索地址(如76 Francis St Hauraki)时,会返回一个正匹配。地块是匹配的,但不是邮政/投递地址,这是76A 或76B。单一地块上的公寓和单元房使问题更加严重。

为了达到100% 的准确性,可以使用特定国家的地址查找器,如 NZ 地址自动完成。