Главная » Разработка для Android » КАРТЫ, ГЕОКОДИРОВАНИЕ

0

И ГЕОЛОКАЦИОННЫЕ СЕРВИСЫ

Содержание  главы

Прямое и обратное геокодирование.

Создание интерактивных карт с помощью MapView и MapActivity.

Создание Наложений (Overlays) и добавление их на карту.

Поиск местоположения с помощью геолокационых сервисов.

Использование оповещений о близости  нахождения.

Одна из характерных особенностей мобильных телефонов — портатив- ность, поэтому нет ничего удивительного в том, что некоторые из главных достоинств  платформы Android  связаны  с сервисами,  которые позволяют находить, контекстуализировать и определять  на карте физическое место- положение.

Можно  создать Активности с картографическими возможностями, ис- пользуя Google Maps в качестве элемента интерфейса. У вас полный доступ к карте, что позволяет  контролировать настройки отображения, изменять уровень масштабирования и подстраивать дисплей. Используя Наложения, можно добавлять на карту аннотации и обрабатывать пользовательские на- жатия, чтобы предоставлять контекстную картографическую информацию и обеспечивать  функциональность.

В этой главе в том числе рассматриваются геолокационные сервисы (location-based services, LBS), которые позволяют находить текущее место- положение  вашего устройства.  Они включают такие технологии,  как GPS и система определения координат с помощью сотовой связи, разработанная в Google. Вы можете указать, какую геолокационную технологию исполь- зовать (явно или косвенно), перечислив набор критериев, описывающих точность и другие параметры.

Карты и другие геолокационные сервисы используют широту и долготу для определения географического положения, но пользователи предпочитают

оперировать таким понятием, как адрес. Android предоставляет класс Geocoder, поддерживающий прямое и обратное геокодирование. С помощью Geocoder можно преобразовывать в обе стороны значения широты/долготы, а также реальные адреса.

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

Использование геолокационных сервисов

Геолокационные сервисы (LBS) — обобщающий термин, описывающий различные технологии, которые применяются для поиска текущего место- положения устройства.

Обозначим две главные составляющие LBS:

LocationManager — предоставляет интерфейс к геолокационным сервисам.

LocationProvider — предоставляет разные Источники данных, основан- ные на различных технологиях определения местоположения.

С помощью LocationManager можно:

получать текущее местоположение;

отслеживать передвижение;

настраивать оповещения о близости  нахождения таким  образом, чтобы они срабатывали при входе в указанную область и при выходе из нее;

находить  доступные  Источники данных для определения местополо- жения.

Настройка эмулятора для тестирования геолокационных сервисов

Для определения текущего местоположения геолокационные сервисы взаимодействуют с аппаратным обеспечением  устройства.  Когда разра- батываете  и тестируете  приложение с помощью  эмулятора,  аппаратная начинка виртуализирована, а вы, вероятно, находитесь  в одном и том же месте.

Чтобы справиться с ограничениями, Android предлагает обходные пути, с помощью которых можно эмулировать данные для LocationProvider — это

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

ПРИМЕЧАНИЕ

Если планируете разрабатывать с помощью эмулятора Android при- ложения, основанные на геолокации, то из этого раздела вы узнаете, как создавать среду выполнения, симулирующую реальное аппаратное обеспечение и изменения местоположения. Далее по главе предполага- ется, что вы используете примеры из данного раздела для обновления местоположения с помощью GPS_PROVIDER, запуская их в эмуляторе. Как вариант, можно использовать реальное устройство.

Изменение местоположения в эмуляторе с помощью LocationРrovider

Используйте панель Location Controls, доступную из перспективы DDMS в Eclipse  (рис.  8.1), чтобы задать  изменения местоположения прямо в LocationProvider.

На рис. 8.1 показаны  вкладки  Manual и KML. С помощью вкладки  Manual можете указать  определенные долготу и широту. Вкладки  KML и GPX по- зволяют  загружать  файлы  KML (язык  разметки  Keyhole)  и GPX (формат для хранения  и обмена данными GPS) соответственно.  Как только они за- грузились,  переходите  к произвольным координатам или воспроизводите их последовательно.

Рис. 8.1.

ПРИМЕЧАНИЕ

Большинство систем GPS записывают файлы с полученной информа- цией, используя GPX, тогда как KML широко распространен в Интер- нете и предназначен для определения географической информации. Вы можете вручную создать собственный файл KML или сгенерировать его с помощью приложения Google Earth, чтобы установить маршрут между двумя точками.

Все изменения местоположения, проведенные с помощью DDMS Location Controls, подхватываются приемником GPS, который должен быть включен и активизирован.

ВНИМАНИЕ

Данные GPS, возвращаемые методом getLastKnownLocation, не изме- нятся, пока хотя бы одно приложение не запросит обновление место- положения.

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

По теме:

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