Главная » Разработка для Android » Использование геокодировщика

0

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

Операции по геокодированию производятся на сервере, так что ваше приложение будет нуждаться в полномочиях,  позволяющих использо- вать Интернет. Эти полномочия описываются в манифесте,  как показано ниже:

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

Класс Geocoder  обеспечивает  доступ к двум функциям геокодирова- ния:

прямое  геокодирование — находит координаты широты  и долготы для указанного  адреса;

обратное  геокодирование — находит уличный  адрес для указанных широты и долготы.

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

при создании  объекта Geocoder.  Если вы этого не сделали, используются настройки по умолчанию.

Geocoder geocoder = new Geocoder(getApplicationContext(), Locale.getDefault());

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

Каждый объект Address заполняется всеми данными, которые Geocoder смог получить.  Сюда могут входить широта, долгота, телефонный номер, а также более детализированная информация: от страны до улицы и номера дома.

ПРИМЕЧАНИЕ

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

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

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

По теме:

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