2011-11-26 39 views
1

我想知道在B4A中是否有辦法獲取郵政地址的地理編碼,然後爲其分配唯一的編號。如果可以這樣做,請告訴我需要獲取地理編碼和唯一編號的編碼。B4A可以獲取地理編碼信息嗎?

我認爲它需要走出去一個網站,並從那裏獲取地理編碼或以某種方式使用Google地圖API。

謝謝。

回答

3

獲得座標後,調用Google Geocoding API Web服務。

您需要傳遞參數latlng(緯度/經度)和sensor = true來接收結果。其它參數可以包括一旦你得到一個JSON響應來篩選結果(http://code.google.com/apis/maps/documentation/geocoding/#GeocodingRequests)

一個例子通話將http://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=true

您可以使用B4A JSON庫來提取您需要的數據

+0

感謝James的迴應,我點擊鏈接並查看返回的結果,但找不到代表單個唯一編號的內容。當我使用地理編碼調用它時,我將使用它來獲取地址。如果我給他們一個郵寄地址,是否可以調用maps.googleapis.com並要求它返回一個數字? –

+0

你的意思是街道號碼中的單個號碼嗎?或者你的意思是描述每個位置的唯一編號?由於地點數量無限,我認爲這樣的數字不會存在。如果您需要每個位置的唯一值,我建議使用經緯度作爲ID – jb11

+0

每個郵政地址都有它自己的緯度和經度。我正在尋找將經緯度或單個郵政地址轉換爲單個數字。這樣我可以對數據庫表中的所有地址進行排序。有沒有辦法調用Google地理編碼來返回該類型的號碼? –

0

如果您在數據庫表中對它們進行排序,我會建議有一個額外的列爲AUTO INCREMENT並將其用作主鍵。當您插入每個郵政地址時,您將獲得一個匹配的唯一ID。

問題當然是唯一的id本身沒有意義。所以除非你想按照訂單排序記錄被插入,否則我不會看到這個數字有什麼好的排序方式,但我不知道你在做什麼。

+0

隨着時間的推移,現在有一個本地java庫供B4A使用,可以通過論壇看到https://www.b4x.com/android/forum/threads/geocoder-library.17115/ – JJohn

0

此問題的唯一解決方案是將LatLon數字連接在一起作爲字符串。 您可以通過多種方式壓縮非常非常長的結果..您可以將字符串 轉換爲數字,然後將該數字轉換爲十六進制,以便您可以獲得更短的行。

+0

歡迎使用StackOverflow。在試圖幫助OP時,問問自己你添加了多少價值。你能更清楚簡潔嗎?你能添加細節嗎?你能更好地設計你的信息嗎?簡要地講述了一些非常重要的問題,就好像它們明顯而簡單一樣。 –

相關問題