Отслеживание геолокации Android в реальном времени с помощью API Карт Google (1/4)

  1. Обзор учебника
  2. Настроить
  3. Ключи разработчика PubNub
  4. Создание проекта Google Maps API и учетных данных
  5. Обзор PubNub
  6. Обзор API Карт Google
  7. Работа с Кодексом
  8. Настройка и настройка приложения
  9. Выполнение кода
  10. Следующие шаги

🔔 Прежде чем мы начнем этот урок, зарегистрируйтесь в учетной записи PubNub для получения ключей API , У нас есть щедрый уровень песочницы, который вам ничего не будет стоить, пока не наступит время для масштабирования! 🔔

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

Обзор учебника

Это руководство из четырех частей по созданию карт реального времени для Android с использованием API Карт Google и PubNub. Мы начнем с основ, чтобы настроить среду Android, а затем добавим функции геолокации в реальном времени в частях 2-4.

В конце концов, у вас будет простое приложение для отслеживания местоположения Android с маркерами на карте, отслеживанием местоположения устройства и маршрутами полета на основе API Карт Google и PubNub.

Вот как будет выглядеть наше приложение:

Вот как будет выглядеть наше приложение:

Настроить

Учебные активы

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

Код для примера, используемого в этой серии руководств, доступен в нашем репозитории GitHub. Это видно через веб-интерфейс, а также с помощью Git для клонирования папки на локальный компьютер.

Ключи разработчика PubNub

Для начала вам понадобятся ключи PubNub для публикации и подписки. Если у вас нет учетной записи, вы можете подпишите здесь и ваши паб / суб ключи доступны в Панель администратора , Ключи выглядят как UUID и начинаются с префиксов «pub-c-» и «sub-c-» соответственно.

Получив ключи pub / sub, создайте новое приложение PubNub, которое будет представлять ваше приложение Android (и любые другие системы, взаимодействующие по тем же каналам). Приложение PubNub будет включать в себя ключи публикации и подписки, которые приложения могут использовать для указанных функций.

Создание проекта Google Maps API и учетных данных

Для интеграции с Google Maps вам необходимо создать ключ API Карт Google. Для этого Проверьте это руководство по началу работы.

Это создает уникальный ключ API, который можно заблокировать для любых приложений Android, которые вам нравятся. Вы можете управлять своими учетными данными в Консоль Google API здесь ,

Обзор PubNub

В нашем Android-приложении PubNub предоставляет возможность связи в реальном времени, которая позволяет нашему Android-приложению получать входящие события при изменении положения удаленного объекта (широта и долгота).

Основная функция PubNub, которую мы будем использовать, Обмен сообщениями в реальном времени , Наше приложение использует канал PubNub для отправки и получения событий изменения позиции.

В этом примере примера одно и то же приложение отправляет и получает события положения, поэтому рассмотрим его как издателя, так и подписчика. Но в вашем приложении система (системы) издателя (отправителя) может отличаться от системы (систем) подписчика (получателя).

Обзор API Карт Google

Google Maps API предоставляет виджет «Карта Android», который отображает карту на основе вашей конфигурации. Размер карты, широта и долгота центра карты, уровень масштабирования, стиль карты и другие параметры могут быть настроены в соответствии с вашими первоначальными предпочтениями и обновлены на лету.

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

Карты Google обеспечивают великолепную картографическую функциональность и в сочетании с PubNub для обновления координат местоположения в режиме реального времени, оба работают невероятно хорошо вместе.

Работа с Кодексом

Первый, клонировать код на свой локальный компьютер, используя Git или функцию импорта проекта Android Studio. Как только проект будет импортирован, вы сможете изменить файлы, используя IDE, например:

Как только проект будет импортирован, вы сможете изменить файлы, используя IDE, например:

Попав в среду разработки, вы сможете внести незначительные изменения в код, чтобы приложение работало быстро.

Настройка и настройка приложения

Эта структура кода должна быть знакома, если вы работали с приложениями Android в прошлом. Мы начнем с простого приложения для Android, которое выполняет две функции:

  • LoginActivity, которая просто собирает имя пользователя
  • MainActivity, которая содержит представление с вкладками для всех наших функций определения местоположения в реальном времени.

Мы включаем библиотеку PubNub для связи в реальном времени в build.gradle файл.

группа компиляции: 'com.pubnub', имя: 'pubnub-gson', версия: '4.12.0'

Вы также захотите включить API Карт Google через Сервисы Play. На момент написания статьи соответствующая версия - 11.0.4.

скомпилируйте 'com.google.android.gms: play-services: 11.0.4'

Есть несколько ключевых настроек разрешений, которые вам нужно настроить в вашем AndroidManifest.xml ,

<использование-разрешения android: name = "android.permission.INTERNET" /> <использование-разрешения android: name = "android.permission.ACCESS_NETWORK_STATE" /> <использование-разрешения android: name = "android.permission.ACCESS_FINE_LOCATION" / >

Пока вы там, вам также нужно обновить ключ API Карт Google, который вы установили ранее:

<meta-data android: name = "com.google.android.geo.API_KEY" android: value = "YOUR_MAPS_KEY" />

Мы приняли подход инкапсуляции общих настроек в Constants.jav файл - например, PubNub для публикации и подписки ключей, упомянутых ранее в этом руководстве.

константы открытого класса {public static final String PUBNUB_PUBLISH_KEY = "YOUR_PUB_KEY"; public static final String PUBNUB_SUBSCRIBE_KEY = "YOUR_SUB_KEY"; ...}

Выполнение кода

Чтобы запустить код, вам просто нужно нажать зеленую кнопку «play» в IDE. Это откроет окно выбора устройства Android, чтобы вы могли выбрать, где запустить приложение. Обычно мы запускаем наши приложения сначала с помощью эмуляции, поскольку это быстрее.

Как только вы это освоите, подключить устройство Android с помощью USB для живой отладки , Это особенно удобно для тестирования отслеживания местоположения в реальном времени, что не так практично в эмуляторе.

Следующие шаги

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