Я хочу получить следующие значения из широты и долготы в Android
- Адрес улицы
- Город / Штат
- застежка-молния
- Полный адрес
Как этого добиться?
android
google-maps
location
Умар-MOBITSOLUTIONS
источник
источник
Ответы:
Для получения дополнительной информации о доступных деталях, посмотрите на Android-Location-Address
источник
getAddressLine()
не является надежным для получения города / страны, поскольку адресные строки могут варьироваться в зависимости от уровня детализации геокодирования. ИспользуйтеgetLocality()
иgetCountryName()
вместо."http://maps.googleapis.com/maps/api/geocode/json?latlng=" + latitude + ","+ longitude + "&sensor=true"
. Он вернет ответ Json.Попробуйте это, мой друг
источник
Город и Страна не всегда попадают в адрес Строка 1 и Строка 2 ...
Пример здесь
Так,
источник
Есть последний трюк, чтобы получить адрес от Lat-Long (гео-координаты). Вы можете просто нажать веб-сервис google-maps, передав широту и долготу. Это просто веб-сервис GET-метода.
Он вернет ответ JSON, который можно легко проанализировать для получения адреса. URL для этого:
Вы можете заменить 32,75 на лат, длинный .
источник
В onCreate () ..
Напишите код в onLocationChanged ()
источник
Вы ищете термин геокодирование.
Короче говоря, вам нужно сделать:
Чтобы сделать больше, вы должны прочитать о Geocoder здесь .
источник
источник
Получить полный адрес по широте и долготе очень просто, используя класс Geocoder. Следуя примеру кода. Надеюсь это поможет!
Вы можете использовать только значение адреса, так как оно дает вам полный адрес. Если вам нужны отдельные компоненты, вы можете использовать и другие.
источник
Просто используйте этот метод и передайте свой лат, долго.
источник
источник
Вы можете легко использовать следующий код, чтобы получить адрес.
источник
Вы можете создать класс
Затем вы создаете его, используя
источник
Похоже, что никто еще не предоставил решение, предложенное в Документах Google ( https://developer.android.com/training/location/display-address#java ). Правильное решение должно использовать IntentService, чтобы выполнить сетевой вызов для обратного геокодирования.
Служба намерений используется вместо AsyncTask, поскольку она не привязана к какой-либо конкретной деятельности. то есть. у него есть свой жизненный цикл. IntentService остановит себя, когда геокодирование будет завершено.
источник
Используйте это, это работает для меня: D
Получить JSON данные широты и долготы.
https://maps.googleapis.com/maps/api/geocode/json?key=AIzaSyAr29XeWWAeWZcrOgjjfs3iSnqkWtAz4No&latlng=2.1812,102.4266&sensor=true
Измените широту, долготу с вашим собственным местом.
https://maps.googleapis.com/maps/api/geocode/json?key= <\ API_KEY_HERE> & latlng = "широта", "долгота" & sensor = true
Вы можете изменить <\ API_KEY_HERE> своим собственным ключом.
Необходимо включить службу API в консоли Google для нового ключа API.
Надеюсь, это поможет: D
источник
1 - Вы создаете переменные для LocationManager и LocationListener в методе onCreate.
2 - Проверьте, есть ли разрешение, поэтому выполните обновления местоположения и получите lastKnownLocation из locationManager, в противном случае вы запрашиваете разрешение
3 - Создайте onRequestPermissionResult в основном классе и проверьте, есть ли разрешение, затем выполните обновления местоположения
4 - Создайте отдельный метод, который включает в себя переменную Geocoder, и создайте список, чтобы поместить координаты из вашего местоположения, чтобы на всякий случай проверить, существует ли список и существует ли каждая информация, которую мы хотим в этом списке, тогда вы используете (getThoroughfare = => для адреса улицы), (getLocality ==> для города / штата), (getPostalCode ==> для почтового индекса), (getAdminArea ==> для полного адреса)
5. Наконец, вы вызываете этот метод после проверки разрешения с помощью (параметр lastKnownLocation ==> для отображения адреса при запуске приложения) и в onLocationChanged с (параметр местоположения ==> для отображения адреса при изменении местоположения)
Часть кода:
источник
для получения дополнительной информации нажмите здесь
источник
Попробуйте использовать приведенный ниже код, используя геокодер:
источник
Вы можете использовать этот метод для геокодирования правильного полного адреса
источник
Если вы используете язык Kotlin, я создаю этот метод, чтобы получить адрес непосредственно
но этот метод просто возвращает значение String при вызове этого метода
Если вы хотите получить все адреса, вы просто используете этот метод / функцию
}
источник
Вы можете сделать это, чтобы получить полный адрес по широте и долготе:
источник
Вам нужно передать значение широты и долготы.
источник