2015-10-19 5 views
0

Я работаю над GoogleMap на Android.«Как получить фактическое текстовое значение (название места) от LatLong?»

До сих пор у меня есть текущее местоположение и отображаемый маркер.

Я получил значение LatLong из своего текущего местоположения.

Я могу получить название города, используя следующий код:

  Geocoder gcd = new Geocoder(MainActivity.this, Locale.getDefault()); 
     List<Address> addresses = null; 
     try { 
      addresses = gcd.getFromLocation(mLocation.getLatitude(), mLocation.getLongitude(), 1); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     if (addresses.size() > 0) 
      System.out.println(addresses.get(0).getLocality()); 
      Toast.makeText(MainActivity.this,""+addresses.get(0).getLocality(),Toast.LENGTH_LONG).show(); 
    } 

Но, не может получить имя atual области, т.е. Bodakdev голец раста, Ахмедабад.

Теперь, мой вопрос: Как получить фактическое текстовое значение (название места) от LatLong?

ответ

1

Вы можете получить это на Geocoder объект на вашей карте google. Метод getFromLocation(double, double, int) выполняет работу.

Geocoder geocoder; 
List<Address> addresses; 
geocoder = new Geocoder(this, Locale.getDefault()); 

addresses = geocoder.getFromLocation(latitude, longitude, 1); // 1 represent max location result to returned, by documents it recommended 1 to 5 

String address = addresses.get(0).getAddressLine(0); // If any additional  address line present than only, check with max available address lines by getMaxAddressLineIndex() 
String city = addresses.get(0).getLocality(); 
String state = addresses.get(0).getAdminArea(); 
String country = addresses.get(0).getCountryName(); 
String postalCode = addresses.get(0).getPostalCode(); 
String knownName = addresses.get(0).getFeatureName(); 
+0

я могу получить название города, используя выше код, но что, если я хочу сделать, как это предлагается в вышеупомянутых правок? –

+0

См. Мой отредактированный ответ. Это даст вам все подробности. И NULL, если информация недоступна для этого набора входных данных. @JaiminModi –

0

Используйте это,

Geocoder geocoder = new Geocoder(this, Locale.getDefault()); 
List<Address> addresses = geocoder.getFromLocation(MyLat, MyLong, 1); 
String cityName = addresses.get(0).getAddressLine(0); 
String stateName = addresses.get(0).getAddressLine(1); 
String countryName = addresses.get(0).getAddressLine(2); 
String address = addresses.get(0).getAddressLine(0); 
+0

Спасибо, что сейчас работает –

Смежные вопросы