2016-04-25 7 views
1

Ich versuche Google Maps zu verwenden. Ich habe diesen Code:addressList Größe ist 0 Google Maps

 public void onMapReady(GoogleMap googleMap) { 

     mMap = googleMap; 
     mMap.getUiSettings().setZoomControlsEnabled(true); 


     List <Address> addressList = null; 
     if (location != null || !location.equals("")){ 
      Geocoder geocoder = new Geocoder(this); 
      try { 
       addressList = geocoder.getFromLocationName(location, 1); 


      }catch (IOException e){ 
       e.printStackTrace(); 
      } 
      Address address = addressList.get(0); 
      LatLng latLng = new LatLng(address.getLatitude(), address.getLongitude()); 
      mMap.addMarker(new MarkerOptions().position(latLng).title(location)); 
      mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, 15)); 
     } 
    } 

Ich aber nehme dies: Address Größe 0. Fehler "java.lang.IndexOutOfBoundsException: Ungültige Index 0, Größe 0" Lage meine Variable ist aber funktioniert gut. Was mache ich falsch? Danke vielmals.

Antwort

1

Möglichkeiten der Null-Ergebnis sind immer

Liste getFromLocationName (String location, int maxResults): Rückgabe: eine Liste von Adressobjekten. Gibt eine leere oder leere Liste zurück, wenn keine Übereinstimmungen gefunden wurden oder kein Back-End-Dienst verfügbar ist.

und vor jeder Methode der Geocoder Aufruf Adresse oder Ergebnisse zu erhalten, überprüfen Sie können den Geocoder Service Geocoder.isPresent()

if(Geocoder.isPresent()){ 
    //do your stuff 
}else{ 
    //cann't implement geocoder 
} 

happyCoding implementiert werden;

+0

Vielen Dank! Es war auch ein Fehler von meinem Emulator, danke! –

Verwandte Themen