Главная » Разработка для Android » Поиск вашего местоположения

0

Цель геолокационных сервисов  — определение  физического место- положения вашего устройства.

За доступ к геолокационным сервисам отвечает системная служба LocationManager. Чтобы  начать работу с ней, получите  экземпляр типа LOCATION_SERVICE с помощью метода getSystemService, как показано в следующем фрагменте  кода:

String serviceString = Context.LOCATION_SERVICE; LocationManager locationManager;

locationManager = (LocationManager)getSystemService(serviceString);

Прежде чем использовать LocationManager, необходимо добавить один или несколько  тегов, описывающих пользовательские полномочия (uses- permission),  к манифесту  приложения, чтобы получить  доступ к аппарат- ному обеспечению, отвечающему за геолокационные сервисы.

В следующем фрагменте  добавляются полномочия для высокой и низ- кой точности. Приложение, имеющее полномочия для высокой точности, автоматически получает доступ и к информации низкой точности.

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

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

ПРИМЕЧАНИЕ

Источник GPS требует полномочий для использования данных высокой точности, тогда как сетевые источники (телефонные сети, Wi-Fi) могут обходиться и низкой точностью.

Вы можете получить последнее местоположение, зафиксированное LocationProvider, используя метод getLastKnownLocation, но предваритель- но передав ему в качестве параметра  имя Источника данных. В следующем примере  получено  последнее  зафиксированное местоположение, взятое у источника GPS:

String provider = LocationManager.GPS_PROVIDER;

Location location = locationManager.getLastKnownLocation(provider);

ПРИМЕЧАНИЕ

Метод getLastKnownLocation не инициирует обновление текущего ме- стоположения у LocationProvider. Если устройство долго не обновляло текущую позицию, полученное значение может не существовать или быть неактуальным.

Возвращенный объект Location содержит всю позиционную информа- цию, которую поддерживает источник. Он может включать широту, долготу, азимут, высоту над уровнем моря, скорость и время, когда последний  раз фиксировалось местоположение. Все эти свойства доступны через геттеры объекта Location. В некоторых случаях представлена  дополнительная ин- формация, содержащаяся в свойстве Bundle.

Источник: Майер P. Android 2 : программирование приложений для планшетных компьютеров и смартфонов : [пер. с англ. ] / Рето Майер. — М. : Эксмо, 2011. — 672 с. — (Мировой компьютерный бестселлер).

По теме:

  • Комментарии