Подтвердить что ты не робот

Как получить координаты адреса в android

Как получить gps-координаты местоположения/адреса, введенные пользователем в android?

4b9b3361

Ответ 1

Geocoder geocoder = new Geocoder(<your context>);  
List<Address> addresses;
addresses = geocoder.getFromLocationName(<String address>, 1);
if(addresses.size() > 0) {
    double latitude= addresses.get(0).getLatitude();
    double longitude= addresses.get(0).getLongitude();
}

Ответ 2

Вы можете использовать Android Geocoder для обратного геокодирования:

Geocoder geocoder = new Geocoder(this, Locale.getDefault());
List<Address> addresses = geocoder.getFromLocationName(myLocation, 1);
Address address = addresses.get(0);
double longitude = address.getLongitude();
double latitude = address.getLatitude();

Также включите в AndroidManifest.xml следующее:

<uses-permission android:name="android.permission.INTERNET"/>

Также обратите внимание, что вам нужно использовать API, который включает реализацию Geocoder. API, которые включают в себя это, например, API Google Google. Вы можете использовать Geocoder.isPresent(), чтобы проверить, существует ли реализация для вашего целевого API.

Обратитесь к документации Geocoder для получения дополнительной информации.

Ответ 3

List<Address> addresses;
addresses = geocoder.getFromLocationName(<String address>, 1);
if(addresses.size() > 0){
double latitude= addresses.get(0).getLatitude();
double longitude= addresses.get(0).getLongitude();
}

Разрешения манифеста: -

android.permission.INTERNET
android.permission.ACCESS_COARSE_LOCATION
android.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_MOCK_LOCATION

Ответ 4

использовать разрешения манифеста, такие как

android.permission.INTERNET 
android.permission.ACCESS_COARSE_LOCATION     
android.permission.ACCESS_FINE_LOCATION 
android.permission.ACCESS_MOCK_LOCATION

и пойдите с этим

Geocoder geocoder = new Geocoder(this, Locale.getDefault());
List<Address> addresses = geocoder.getFromLocationName(myLocation, 1);
Address address = addresses.get(0);
if(addresses.size() > 0) {
    double latitude = addresses.get(0).getLatitude();
    double longitude = addresses.get(0).getLongitude();
}