Как получить широту и долготу от адреса на Android?

Возможный дубликат:
Как найти широту и долготу от адреса?

Я хочу получить широту и долготу конкретного адреса. Как я могу это сделать ?

private void getFromLocation(String address) { double latitude= 0.0, longtitude= 0.0; Geocoder geoCoder = new Geocoder(this, Locale.getDefault()); try { List<Address> addresses = geoCoder.getFromLocationName(address , 1); if (addresses.size() > 0) { GeoPoint p = new GeoPoint( (int) (addresses.get(0).getLatitude() * 1E6), (int) (addresses.get(0).getLongitude() * 1E6)); latitude=p.getLatitudeE6()/1E6; longtitude=p.getLongitudeE6()/1E6; } } catch(Exception ee) { } } } 

Вы можете получить код ниже,

 private void GetLatitudeAndLongitude() { geocoder = new Geocoder(mContext, Locale.getDefault()); try { List<Address> addresses = geocoder.getFromLocationName(txtLocation.getText().toString().trim().toLowerCase(), 1); if (addresses.size() > 0) { homeInfoModel.setLalitude(String.valueOf(addresses.get(0).getLatitude())); homeInfoModel.setLongitude(String.valueOf(addresses.get(0).getLongitude())); } } catch (IOException e) { e.printStackTrace(); } } 

Это даст вам (пропустить) все совпадения адресной строки. Если вам просто нужно первое совпадение, убедитесь, что address.size () отлично, чем 0, а затем возьмите address.get(0);

В моем использовании я получаю все совпадения и показываю их как параметры. Затем пользователь щелкает по одному, и он выбирает это местоположение GPS.

 Geocoder geocoder = new Geocoder(getBaseContext()); List<Address> addresses; try { addresses = geocoder.getFromLocationName("Example StreeT, UK, DNFE", 20); for(int i = 0; i < addresses.size(); i++) { // MULTIPLE MATCHES Address addr = addresses.get(i); double latitude = addr.getLatitude(); double longitude = addr.getLongitude(); // DO SOMETHING WITH VALUES } }