使用Google Maps API进行地址验证


70

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

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

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

  1. 质量保证体系
  2. Capscan
  3. 在任何地方进行邮编

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

我还想知道是否有一种方法可以利用Google Maps API通过邮政编码和国家/地区来验证此数据。

谷歌地图方法可能吗?还是我必须选择这些昂贵的公司之一?关于应该采取哪条路线的任何想法。

Answers:


41

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

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

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

换句话说,您得到的货款是;)。但是,如果您有时间,为什么不尝试实施基于Google的解决方案,然后再尝试呢?毕竟,API看起来很漂亮,而且是免费的。


3
不幸的是,最近这些日子几乎没有免费,并且可能无法很好地适应庞大的数据集(价格可能会迅速上涨)。
乔什·麦克

是的,看起来它不再免费了。
Sandip Subedi

31

Google的地理编码api可以满足您的需求。正如Xerus所指出的那样,只要您不在非Google地图上使用地理编码的点,就应该很好(服务条款)。特别,

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.

@fgregg:有点偏离主题,但是您认为节省2点之间的行驶距离是否违反了ToS?前提是点击附近的链接实际上会显示Google地图?
mpen 2010年

1
现在看来是10.1.1(g)。

2
现在看来是10.4(d)
dhavald 2015年

我不是律师,但是第10.4(d)节中的服务条款说:“例如,您可以在没有相应的Google地图的情况下显示街景图像,因为Maps API文档明确允许这种使用。” 我认为这是因为Maps API文档允许您在没有地图的情况下调用它,因此您可以在没有地图的情况下使用它。
无效

1
他们已经对条款进行了相当多的重组,现在看来,只要您不使用非Google地图,就可以毫无问题地将其用于其他目的:cloud.google.com/maps-platform/terms/ maps-service-terms /…
Xerus

26

我既是网站开发人员,也是您提到的其中一家公司的前雇员。我完全了解您来自哪里。验证地址似乎是一个很简单的问题,但实际上是一个冰山。我想一种解决Google或Yahoo!的法律约束的方法。Maps API是为了要求您的用户在地图上验证其地址。但是,如果我穿上你的鞋子,我不会走那条路。

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


1
另外,对于对仅美国验证感兴趣的小型企业,您可以免费使用USPS的某些Web服务(usps.com/business/webtools.htm)。
亚当

5
请注意,USPS API条款有效地将服务限制为通过USPS运送的企业:“用户同意使用USPS网站,API和USPS数据仅促进USPS运送交易。” 如果您想通过UPS或Fedex进行运输,或者您的公司派遣自己的卡车/驾驶员(与我的一样),则必须使用昂贵的第三方。
HiredMind 2011年

当然,您可以每年通过USPS寄出一份文件,那么您就是客户!
达维西

11

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

如果您想要任何程度的真实准确性,则需要使用提供真实地址验证的服务,而您需要为此付费。正如亚当(Adam)所提到的那样,地址验证和确认起初看起来很容易,但是这是一个充满挑战的黑洞,除非您有一些基础数据可以使用,否则您自己几乎不可能做。相信我,您实际上是在使用服务来省钱。欢迎您自己走这条路,以体验我的意思,但是,即使经过几个小时(或几天)的旋转,我也可以保证可以看到灯光。

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


2
对于OP和任何其他阅读此文档的人,现在距此Q发布已经过了几年。我一直在测试smartystreets的服务。对于美国和国际地址验证而言,这似乎都很不错。我不能保证其数据的准确性(我将如何确认?),但我没有理由认为这可能是一个问题。他们认为他们从事商业活动,我认为他们将采取一切措施提供准确的数据,因为这是他们的业务所依赖的。
受到启发的



0

Google依据(免费)不提供地址验证(地理编码),因为没有英国邮政编码许可。

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

这就是为什么Google拥有一个高级的企业解决方案的原因,该解决方案仍然昂贵,而且不如bIng和Via Michelin等具有API的业务映射专家那么好。

作为一名自由职业开发人员,由于系统功能薄弱,并且确实提供了精简的解决方案,因此严肃的企业将使用Google。


0

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


2
我尝试使用它,数据非常旧。AJAX版本也已经破解了一段时间。
乔纳森·奥利弗


0

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

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

例如,可以从新西兰土地信息(LINZ)免费下载新西兰地址和地理位置数据。当用户搜索地址(例如来自Google的76 Francis St Hauraki或Address Doctor)时,将返回正匹配项。匹配了该地块,但没有匹配邮政/收货地址,即76A或76B。在单个土地上的公寓和单元会加剧该问题。

为了实现100%的准确性,请使用国家/地区特定的地址查找器,例如https://www.addy.co.nz,以获取NZ地址自动填充功能。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.