Главная » Разработка для Android » ГЕОЛОКАЦИЯ И КАРТОГРАФИЯ в Android приложении

0

С тех пор как в мобильные телефоны начали встраивать автономные GPS-при-емники, разработчики предвидели наступление новой эпохи геолокационных (location-based) приложений. Функция распознавания местоположения (location awareness) позволяет создавать мобильные приложения нового поколения. Например, если ваша программа подыскивает для пользователя интересующие его рестораны, то явным преимуществом было бы ограничить поиск областью, которая находится в зоне досягаемости того или иного пользователя. Еще лучше, если вы сможете посмотреть на карте, где находятся рестораны, а также, если программа покажет, как туда лучше добраться на машине или пешком.

Навигационные функции – типичная черта лишь первого поколения геолокационных сервисов (LBS). Приложения, позволяющие пользователям, например, делиться с друзьями информацией о собственном местоположении, как Google Latitude, либо присваивать географическим точкам различные степени важности, как Foursquare, стали появляться как грибы после дождя. Геолокационные сервисы, без преувеличения, находятся на взлете, и, как вы увидите, система Google Android предлагает обширные возможности, значительно упрощающие разработку приложений такого типа.

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

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

Мы поговорим о том, как программа MJAndroid использует систему Android для получения ответов на эти вопросы.

Геолокационные сервисы

На мобильных телефонах по отдельности или в комбинациях используются взаимосвязанные методы, позволяющие узнать, где находится телефон.

Идентификатор соты (Cell ID) – независимо от того, говорите вы с кем-нибудь или нет, ваш мобильный телефон, пока он включен, постоянно «общается» с ближайшими сотовыми вышками. Аппарат делает это для того, чтобы была возможность немедленно ответить на вызов, если кто-то вам позвонит. Поэтому каждые несколько секунд телефон «пингует» сотовую вышку, с которой он связывался в последний раз, чтобы сообщить, что он все еще находится в зоне ее действия, и чтобы записать сетевые параметры – в частности, точное время, актуальную силу сигнала (восходящего и нисходящего) и т. д. Если вы перемещаетесь, то ваш телефон может инициировать передачу обслуживания (так называемый «хэндовер») на другую сотовую вышку. Этот процесс протекает в фоновом режиме и не требует вашего участия. Каждая сотовая вышка в мире имеет уникальный идентификатор, называемый, что логично, идентификатором соты. Кроме того, каждой сотовой вышке известна широта и долгота, под которыми она расположена. Поэтому мобильному телефону достаточно просто приблизительно узнать о том, где вы находитесь. Для этого телефону требуется отметить географическое расположение идентификатора соты, в которой он в данный момент находится. Размеры сот в сотовых сетях варьируются в зависимости от того, насколько активный сетевой трафик ожидается в конкретном районе. В США, например, одна сота имеет радиус от восьмисот метров (в городах) до восьми километров и более (открытые пространства).

Триангуляция – большую часть времени сотовый телефон находится в зоне действия более чем одной сотовой вышки. В мобильных технологиях 2G и последующих поколений сотовая вышка умеет определить, с какого направления приходит сигнал. Если телефон находится в зоне действия двух или трех сотовых вышек, то вместе они могут выполнять триангуляцию местоположения телефона. Затем в сетях некоторых операторов телефон может запрашивать у сети информацию о том, где он находится. Это звучит немного старомодно, но такая техника определения местоположения может быть очень точной и не требует устанавливать на сотовом телефоне какое-либо дополнительное оборудование.

GPS – спутниковая система глобального позиционирования (Global Positioning System, GPS) в наши дни является вездесущей. Она работает и в навигационных системах автомобилей, и в портативных навигаторах, и в мобильных телефонах. Приятно отметить, что при использовании GPS на вашем мобильном телефоне его местоположение можно определить очень точно. В частности, можно определить высоту над уровнем моря, что важно для некоторых приложений. У GPS есть свои недостатки, но тем не менее популярность этой системы только растет. А недостатки ее таковы:

• дополнительная стоимость – GPS-радио и процессоры стоят совсем недорого, но все же, если общая стоимость компонентов мобильного телефона увеличится хотя бы на десять долларов, это будет довольно ощутимо;

• сокращение срока службы аккумулятора – уже достигнуты замечательные прорывы в снижении энергоемкости радиоустройств и процессоров GPS, но они по-прежнему сильно расходуют заряд батареи. На большинстве телефонов, оснащенных функцией GPS, пользователь также может включать и отключать эту функцию. Если работа вашего приложения зависит от точности глобального позиционирования, то стоит учитывать, что приложение само должно проверять, включена ли на устройстве система GPS, и уведомлять пользователя, если эта система отключена;

• недостаточная безотказность – порой отказывают любые системы, но функционирование GPS особенно зависит от того, сможет ли мобильное устройство связываться со спутниками, которые летают на орбите. Если вы находитесь в подвале высотного здания и вокруг вас – сплошной железобетон, то вы, пожалуй, не сможете пользоваться GPS.

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

Источник: Android. Программирование на Java для нового поколения мобильных устройств

По теме:

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