0

Bonjour, je dois obtenir la latitude et la longitude de code postal.Se tromper Lat Long de Code postal

J'utilise ci-dessous méthode pour le faire sortir:

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 
    } 
} 

Maintenant, quand je l'ai vérifié mon journal, pour code postal: 77098 il me donner ci-dessous info:

Latitude: 48,5880269, Longitude: 3.108398, ce qui est incorrect.

Il devrait être 29,7333 et 95,4175 comme par google.

Existe-t-il un autre moyen de faire une telle chose? Merci.

Répondre

0

Vous obtenez le code postal 77098, mais à Paris, en France, pas à Houston. Vous pouvez utiliser la version de Geocoder.getFromLocationName() qui vous permet de spécifier un rectangle de délimitation pour contourner ce problème.