2017-12-07 3 views
0

Ich versuche, Markierungen auf der Karte in Android mit Adresse anzuzeigen.
Dies ist mein Code:Finden Sie den Breiten- und Längengrad von einer Adresse

public void onMapReady(GoogleMap googleMap){ 
    mMap = googleMap; 
    Geocoder coder= new Geocoder(this); 
    try 
    { 
     String straddress = "155 Park Theater,Palo Alto,CA"; 
     Double latitude = 0.0; 
     Double longitude = 0.0; 
     List<Address> addresses = coder.getFromLocationName("155 Park Theater,Palo Alto,CA",1); 
     Address location = addresses.get(0); 
     LatLng p1 = new LatLng(location.getLatitude(), location.getLongitude()); 
     mMap.addMarker(new MarkerOptions().position(p1).title("California")); 
     mMap.moveCamera(CameraUpdateFactory.newLatLng(p1)); 
    } 
    catch (Exception e) 
    { 
     e.printStackTrace(); 
    } 
} 

Wenn ich nicht die Hausnummer setzen, dann wird es die Markierung angezeigt werden soll. Aber es wird nur Marker auf der Straße angezeigt. Ich möchte Marker an einem bestimmten Ort.

Ich bekomme folgenden Fehler bei der Eingabe der ganzen Adresse mit Straßennummer. Die Liste "Adresse" ist leer.

java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 

Antwort

0

aktualisieren Sie Ihren Code mit folgenden:

List<Address> address; 
LatLng latLng = null; 

try { 
    address = coder.getFromLocationName(strAddress,5); 
    if (address==null) { 
     return null; 
    } 
    Address location=address.get(0); 
    latLng = new LatLng(location.getLatitude(),location.getLongitude()); 
    } 
+0

Plz lassen Sie mich wissen, ob es –

+0

Nr funktioniert, ist es immer noch nicht funktioniert. –

Verwandte Themen