#android #geolocation
#Android #геолокация
Вопрос:
Сколькими способами я могу программно получить текущее географическое местоположение (широта, lang) в Android, какой способ является лучшим, точным и быстрым??
С нетерпением ждем ваших предложений
Спасибо
Комментарии:
1. Хорошая публикация, с которой я столкнулся android10.org/index.php/articleslocationmaps /…
Ответ №1:
Вам следует прочитать, как получить местоположение пользователя, в документации SDK.
Комментарии:
1. Не уверен, что есть лучший способ: GPS может быть медленным, но довольно точным; ячейка не точная, но быстрее; не на всех устройствах есть GPS;;; использование комбинации нескольких способов, вероятно, лучший способ (сначала celle-tower, чтобы быстро определить местоположение; затем GPS, чтобы оно стало более точным)
2. Спасибо Pascal, любой пример кода доступен для справки (с использованием как сетевого провайдера, так и GPS)
3. Нет, извините; в руководстве, я полагаю, есть примеры, но я никогда ими не пользовался.
4. Хорошая публикация, с которой я столкнулся android10.org/index.php/articleslocationmaps /…
Ответ №2:
Можно узнать местоположение по IP-адресу:
Другой метод — с помощью GSM или определения местоположения в плоскости управления, но другие методы можно найти здесь:
Ответ №3:
При разработке приложения с учетом местоположения для Android вы можете использовать GPS и поставщика сетевых данных Android для определения местоположения пользователя. Хотя GPS является наиболее точным, он работает только на открытом воздухе, быстро расходует заряд батареи и не возвращает местоположение так быстро, как этого хотят пользователи. Поставщик сетевого местоположения Android определяет местоположение пользователя с помощью вышки сотовой связи и сигналов Wi-Fi, предоставляя информацию о местоположении таким образом, который работает в помещении и на улице, быстрее реагирует и потребляет меньше заряда батареи. Чтобы получить местоположение пользователя в вашем приложении, вы можете использовать как GPS, так и поставщика сетевого местоположения, или только одного`
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER,
MIN_TIME_BW_UPDATES,
MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
Log.d("GPS Enabled", "GPS Enabled");
if (locationManager != null) {
loc = locationManager
.getLastKnownLocation(LocationManager.GPS_PROVIDER);
}
locationManager.requestLocationUpdates(
LocationManager.NETWORK_PROVIDER,
MIN_TIME_BW_UPDATES,
MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
Log.d("Network", "Network");
if (locationManager != null) {
loc = locationManager
.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
}