2011-07-18 52 views
0

Android地理編碼器似乎並不像基於網絡的Google Maps API那樣瞭解交叉路口。例如,一個路口,「航空和巴丹」,從谷歌地圖返回一個有效的GeoPoint: http://maps.googleapis.com/maps/api/geocode/json?address=aviation%20and%20battan&sensor=falseAndroid Geocoder瞭解街道交叉路口嗎?

使用地理編碼器在Android中,這同一交叉路口搜索(「航空和巴丹」)不返回任何結果。我的Android代碼低於確實返回結果,當我輸入一個更具體的地址,而不是一個十字路口。 Android地理編碼器不理解交叉點,還是我需要做其他事情?

Geocoder geocoder = new Geocoder(this); 
     try { 
      foundAdresses = geocoder.getFromLocationName(query, MAX_SEARCH_RESULTS); 
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

感謝

回答

1

它不,你應該忽略的錯誤不完全Geocoder物件,只是在GET請求

http://maps.googleapis.com/maps/api/geocode/json?address=DESIREDADDRESS&sensor=true

它返回一個JSON對象

0

您可以檢查在Android源代碼樹當前GeoCoder.java(這裏是一個older example),並決定是否直接使用Geocoder類別或地圖反向地理編碼API。

我不知道是什麼原因造成的,但它必須關於GeoCoder類如何查詢反向地理編碼API。閱讀GeoCoder源代碼並嘗試弄清楚自己。這是我的建議,如果你沒有多少時間,只需繼續使用反向地理編碼API(JSON),Android就有一個內置的JSON解析器庫(gson)。

+0

艾哈邁德使用網絡版,我會看着你建議。謝謝。 – CircuitBreaker716