Получите адрес по координатам Google Map Android

Я пробую приложение для определения местоположения, в настоящее время у меня есть координаты этого места на маркере. Теперь, как я могу получить название местоположения по уже имеющимся координатам?

Мой код:

//search add address
private void geoLocate() {
    Log.d( TAG, "geoLocate: geolocating" );
    String searchString = mSearchText.getText().toString();

    Geocoder geocoder = new Geocoder( MapActivity.this );

    List<Address> list = new ArrayList<>();

    try {
        list = geocoder.getFromLocationName( searchString, 1 );
    } catch (IOException e) {
        Log.e( TAG, "geoLocate: IOException" + e.getMessage() );
    }

    if (list.size() > 0) {
        Address address = list.get( 0 );
        Log.d( TAG, "geoLocate: found a location:  " + address.toString() );
        moveCamera( new LatLng( address.getLatitude(), address.getLongitude() ), DEFAULT_ZOOM,address.getAddressLine( 0 ) );
    }
}

Это мой маркер

// add marker
public void addMarkers() {
    mMap.setOnMapClickListener( new GoogleMap.OnMapClickListener() {
        @Override
        public void onMapClick(LatLng latLng) {
            MarkerOptions markerOptions = new MarkerOptions();
            markerOptions.position( latLng );
            markerOptions.title( latLng.latitude + " : " + latLng.longitude );
            mMap.clear();
            mMap.animateCamera( CameraUpdateFactory.newLatLng( latLng ) );
            mMap.addMarker( markerOptions );
            shareView();
        }
    } );
}

Возможный дубликат: stackoverflow.com/a/9409229/4614807

Bubu 30.07.2018 10:32

вы задаете противоположный вопрос в зависимости от вашего кода.

Shubham Vala 30.07.2018 10:39

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

Adrian W 30.07.2018 10:45

что ты хочешь делать. можешь правильно объяснить?

Shubham Vala 30.07.2018 12:48

Пример: у меня есть координаты: 40.657052: 73.990700 convert - >> = Brooklyn, New York

levancuongcpt 31.07.2018 09:41
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
5
98
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать приведенный ниже код для получения базы адресов на latlong.

try {
        Geocoder geocoder;
        String city=null;
        List<Address> yourAddresses;
        geocoder = new Geocoder(this, Locale.getDefault());
        yourAddresses = geocoder.getFromLocation(yourLatitude, yourLongitude, 1);


    final String yourAddress = yourAddresses.get(0).getAddressLine(0);
    if (yourAddresses != null && yourAddresses.size() > 0) {
        android.location.Address address = yourAddresses.get(0);
        @SuppressWarnings("MismatchedQueryAndUpdateOfStringBuilder") StringBuilder sb = new StringBuilder();
        for (int i = 0; i < address.getMaxAddressLineIndex(); i++) {
            sb.append(address.getAddressLine(i)).append("\n");
        }
        city = address.getLocality();
        Log.d("city", "onCreate: "+city);
    }

    } catch (IOException e) {
        e.printStackTrace();
    }

Другие вопросы по теме