2011-09-10 51 views
0

我正在嘗試使用地理編碼來獲取地址,計算出經度和緯度,然後在地圖上顯示覆蓋圖。地理編碼代碼不工作 - Google地圖

我正在使用下面的代碼,但是日誌條目Log.e(「Found」,「」+ lat);從來沒有觸發,我不知道爲什麼。任何人都可以幫忙嗎?

謝謝!

private void showpins() throws IOException { 

    Geocoder gc = new Geocoder(this); 

    String Address = "Oxford Street, London"; 

    Log.e("Lat",""+Address); 

     List<Address> foundAdresses = gc.getFromLocationName(Address, 5); //Search addresses 

     int lat; 
     int lon; 

     for (int i = 0; i < foundAdresses.size(); ++i) { 

      Address x = foundAdresses.get(i); 
      lat = (int) x.getLatitude(); 
      lon = (int) x.getLongitude(); 

      Log.e("Found",""+lat); 

    List<Overlay> mapOverlays = mapView.getOverlays(); 
    Drawable drawable = this.getResources().getDrawable(R.drawable.pushpin); 
    CustomizedItemOverlay itemizedOverlay = 
    new CustomizedItemOverlay(drawable, this); 

    GeoPoint point = new GeoPoint(lat, lon); 
    OverlayItem overlayitem = 
     new OverlayItem(point, "Hello", "Location"); 

    itemizedOverlay.addOverlay(overlayitem); 
    mapOverlays.add(itemizedOverlay); 

    } 

     } 

回答

1

有某些仿真器API級別這個明確的問題。請參閱Issue 8816: service not available。例如,API級別8不起作用。如果您調用該方法兩次,我發現API級別7可以。真實設備上的行爲並不爲我所知。我不認爲Google保證該服務將始終可用。

+0

Urg - 多麼痛苦 - 想知道是否有其他選擇,以及它是否適用於真實設備。 – GuybrushThreepwood

+0

有一個JSON解決方案,請參閱鏈接中的評論21。我還沒有嘗試過。 – NickT

+0

謝謝 - JSON選項效果很好。 – GuybrushThreepwood

1

您的地址不在Google地圖地址數據庫中,或者您的應用沒有互聯網訪問權限。

  1. 請檢查http://maps.google.com該地址是否實際找到。

  2. 該應用程序具有互聯網訪問權限。您必須在ypur應用清單中有這樣的:

    <uses-permission android:name="android.permission.INTERNET" /> 
    
相關問題