Получение координат широты и долготы в Android с помощью служб определения местоположения
При разработке Android определение текущего местоположения пользователя часто необходимо для различных приложений. В этом руководстве представлены подробные инструкции о том, как получить координаты широты и долготы с помощью класса LocationManager.
Использование LocationManager
Чтобы получить текущее местоположение, выполните следующие действия:
Инициализируйте LocationManager:
LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
Получить последнее известное местоположение:
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
Извлеките долготу и широта:
double longitude = location.getLongitude(); double latitude = location.getLatitude();
Асинхронное обновление местоположения
Метод getLastKnownLocation() возвращает снимок последнего известного местоположения, но он не обеспечивает обновления в реальном времени. Чтобы получать регулярные обновления, вы можете использовать метод requestLocationUpdates():
private final LocationListener locationListener = new LocationListener() { public void onLocationChanged(Location location) { longitude = location.getLongitude(); latitude = location.getLatitude(); } } lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2000, 10, locationListener);
Разрешения
Чтобы получить доступ к данным о местоположении устройства по GPS, приложению требуется разрешение ACCESS_FINE_LOCATION в манифесте :
Выбор поставщика
Для большей точности используйте метод getBestProvider(), чтобы выбрать наилучшего доступного поставщика местоположения :
String provider = lm.getBestProvider(new Criteria(), true); Location location = lm.getLastKnownLocation(provider);
Выполнив эти шаги, вы можете получить и использовать координаты широты и долготы мобильного устройства для различных приложений при разработке Android.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3