0

Hallo Ich muss Breite und Länge von Postleitzahl erhalten.Falsches Lat Long aus Postleitzahl

ich unten Methode verwenden es raus:

private void getLatLongFromZipCode() { 
    final Geocoder geocoder = new Geocoder(mContext); 
    try { 
     List<Address> addresses = geocoder.getFromLocationName(Prefrences.getPref(mContext, ZIPCODE), 1); 
     if (addresses != null && !addresses.isEmpty()) { 
      Address address = addresses.get(0); 
      mCurrentLatitude = address.getLatitude(); 
      mCurrentLongitude = address.getLongitude(); 
      Constant.displayLogE(">>>>zipcode > ", "" + Prefrences.getPref(mContext, ZIPCODE)); 
      Constant.displayLogE(">>>>lat > ", "" + mCurrentLatitude); 
      Constant.displayLogE(">>>>Lng > ", "" + mCurrentLongitude); 
     } else { 
      // Display appropriate message when Geocoder services are not available 
      Constant.displayToast(mContext, "Unable to geocode zipcode"); 
     } 
    } catch (IOException e) { 
     // handle exception 
    } 
} 

jetzt, wenn ich meinen Log überprüft habe, für zipcode: 77098 es mir unter info geben:

Latitude: 48,5880269, Längengrad: 3.108398, was falsch ist.

Es sollte 29,7333 und 95,4175 per google sein.

Gibt es einen anderen Weg, um so etwas zu tun? Danke.

Antwort

0

Sie bekommen Postleitzahl 77098, aber in Paris, Frankreich nicht Houston. Sie könnten die Version Geocoder.getFromLocationName() verwenden, mit der Sie ein begrenzendes Rechteck angeben können, um dies zu umgehen.

Verwandte Themen