2010-10-01 99 views
2

我是一个项目的一部分,需要自动完成或自动建议功能的邮政地址(类似谷歌地图有什么)。当用户开始输入号码,然后街道谷歌开始建议有效的选项。我想知道市场上是否有api(甚至是商业)。谷歌地图像邮政地址的自动完成或自动建议API

注意:我是而不是正在寻找地址验证API。

我也可以购买一个地址数据库并在其上面实现它。但是,如果我们需要构建一些强大而复杂的东西,这就涉及到很多开发开销。任何好的指针都会有帮助。

感谢 巴拉

回答

3

这会让人给你类似你正在寻找一个解决方案。如果您将on_click事件替换为Javascript onkeyup,您应该可以实时查看地址。

这是一个快速的分步指南,介绍如何将基于RapidAddress邮编的地址查找器添加到HTML网站。我们建议您先阅读JavaScript用户指南。 步骤#1 从下载部分下载最新版本的JavaScript类。您也可以使用集成包,它包含已准备好的HTML页面,作为起点可能会很方便。 上传的JavaScript文件crafty_postcode.class.js到Web服务器,并在HTML中引用它,你可以在src属性使用相对或绝对路径:

<script type="text/javascript" charset="ISO-8859-1" src="crafty_postcode.class.js"> 
</script> 

注:“ISO-8859-1 “这个位在JS脚本被压缩时很重要。 步骤#2 创建并配置JavaScript对象:

<script> 
    var cp_obj = CraftyPostcodeCreate(); 
    cp_obj.set("access_token", "xxxxx-xxxxx-xxxxx-xxxxx"); // your token here 
    cp_obj.set("result_elem_id", "crafty_postcode_result_display"); 
    cp_obj.set("form", "address"); 
    cp_obj.set("elem_company" , "companyname"); 
    cp_obj.set("elem_street1" , "address1"); 
    cp_obj.set("elem_street2" , "address2"); 
    cp_obj.set("elem_street3" , "address3"); 
    cp_obj.set("elem_town"  , "town"); 
    cp_obj.set("elem_county" , "county"); 
    cp_obj.set("elem_postcode" , "postcode"); 
</script> 

步骤#3 创建以HTML的地址形式:

<form method="post" name="address"> 
Postcode:<br/> 
<input type="text" name="postcode"/>&nbsp;&nbsp;&nbsp; 
<button type="button" onclick="cp_obj.doLookup()">Find Address</button><br/> 
<span id="crafty_postcode_result_display">&nbsp;</span><br/> 
Company:<br/> 
<input type="text" name="companyname"/><br/> 
Address:<br/> 
<input type="text" name="address1"/><br/> 
<input type="text" name="address2"/><br/> 
<input type="text" name="address3"/><br/> 
Town:<br/> 
<input type="text" name="town"/><br/> 
County:<br/> 
<input type="text" name="county"/> 
</form> 

注: “公司名称”, “地址2/3” 和“县“是可选的,如果它适合你的网站,你可以离开这些领域。请记住在步骤2中将它们从JavaScript配置中删除。例如,如果您不需要县字段:cp_obj.set(“elem_county”,“”); 请注意“查找地址”按钮,onclick操作调用doLookup()方法。 地址结果(或错误消息)将放入id为“crafty_postcode_result_display”的元素中。 全部完成! 如果由于任何原因无法正常工作,请将任何错误代码/消息通过电子邮件发送给我们。我们将很乐意提供帮助。如果您尚未阅读JavaScript用户指南,也可能需要阅读。

截至发现:

http://www.craftyclicks.co.uk/web-service/docs/javascript-address-finder-how-to-add-rapidaddress

+0

这是我一直在寻找的东西。谢谢 – gfivehost 2011-08-11 18:23:40

1

您可以使用谷歌的地理自动填充API

http://code.google.com/p/geo-autocomplete/

这会给你同样的自动完成的,你会得到谷歌地图的位置。

+0

我对此做了一些研究,看起来我需要一张地图来绘制结果。否则这将意味着使用方面的违规行为。我不确定这是否完全正确。此外,JavaScript解决方案将无法正常工作,因为这将在WPF应用程序中实现。我应该早一点提及。对不起,这。 – Bala 2010-10-03 00:17:48

+0

你可以有一个隐藏的div的地图);至于WPF我不确定,但我知道自动完成在那里很容易。我的建议是,你会发现geo-autocomplete api发送给google的什么信息,并完全绕过你的WPF应用程序。 – DeliveryNinja 2010-10-04 08:24:21

0

Here's a cheap database包括交互式下钻的软件和API。然而,自动建议/完成是一种容易出错的技巧,当你尝试像在亚特兰大的Peachtree街道的数十种变体之一中寻找某种东西时,显然是很明显的。如果您必须使用自动建议/完成功能,请将地址验证作为备用,以便您了解钻取次数选择错误结果的频率。

相关问题