2010-05-19 41 views
2

我第一次使用android.location.Geocoder。想法是:我有一個按鈕,它從EditText獲取輸入並解析位置。到目前爲止它是調試階段,所以我沒有處理程序從線程中獲取消息,只進行地理編碼並寫入logcat。 問:爲什麼這個方法總是返回一個Address對象的空列表?爲什麼Geocoder.getFromLocationName(...)返回一個空列表?

private View.OnClickListener checkLocation = new View.OnClickListener() {  

    @Override 
    public void onClick(View v) { 
     location = ((EditText)findViewById(R.id.getLocation)).getText().toString(); 
     Thread thr = new Thread(){ 
      public void run(){ 
       Log.d("Looking for", location); 
       Geocoder gc = new Geocoder(ctx,Locale.ITALY); 
       try { 
        fa= gc.getFromLocationName(location, 3); 
        if (fa.isEmpty())Log.d("getFromLocationName", "NothingFound"); 
        else 
        { 
         int size= fa.size(); 
         for (int i = 0; i<size ;i++) 
          Log.d("getFromLocationName.at("+ String.valueOf(i) +")", fa.get(i).getAddressLine(0)+", "+fa.get(0).getAddressLine(1)); 
        } 
       } catch (IOException e) { 
        Log.e("IOException", e.getMessage()); 
       } 

      } 
     }; 
     thr.start(); 

    } 
}; 

清單:

<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 

有人知道這是爲什麼? (順便說一句,我使用1.6 sdk)輸入嘗試

回答

5

該項目沒有針對正確的AVD。要使用地理位置,你必須使它指向實施谷歌API的AVD。一旦我改變了它,一切正常。對不起打擾

+1

感謝隊友,這也解決了我的問題! – dgraziotin 2010-05-19 16:04:30

0

因爲它不能識別你正在投入的地址或它無法到達服務。

你要投什麼地址?嘗試一些簡單的郵政編碼或城市或州名稱。

+0

我tryed這個的: 位置= { 「倫敦」 「的Dalvik,冰島」 「1600劇場百匯,山景,CA」 「證券及期貨條例」 } 我也被告知設置設置 - > languange&keyboard - > Locale ... – urobo 2010-05-19 13:41:19

相關問題