2010-10-01 111 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街道的數十種變體之一中尋找某種東西時,顯然是很明顯的。如果您必須使用自動建議/完成功能,請將地址驗證作爲備用,以便您瞭解鑽取次數選擇錯誤結果的頻率。

相關問題