Отслеживание геолокации 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 для живой отладки , Это особенно удобно для тестирования отслеживания местоположения в реальном времени, что не так практично в эмуляторе.

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

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

Похожие

Пошаговое руководство по сервисам Ionic 3, Angular 4 и Google Maps Directions
Подробное пошаговое руководство по Ionic 3, Angular 4 и службе Google Maps Directions с использованием Google Maps Javascript API. Зачем использовать Google Maps Javascript API? потому что это более простая реализация для Ionic 3 и Angular 4. Для использования Ionic 2 Native Google Maps вы можете обратиться этот руководство. 1. Создайте
Fitbit Charge HR обзор
... ся для тех, кто хочет отслеживать частоту сердечных сокращений и контролировать тренировки. Но Fitbit уже выпустил своего преемника, Fitbit Charge 2 , Это выглядит так же, как и в оригинале, но мониторинг сердечного ритма теперь является стандартной функцией, а экран был расширен, чтобы показать гораздо больше информации. Если вы все еще на борту, вы можете поймать его почти даром, по крайней мере,
ОК, Google, прекрати продавать Pixel 2 XL
ОБНОВИТЬ: Google объявил о планах по решению проблемы , Проблемы с Pixel 2 XL продолжают возникать, и Google не слишком прозрачен в их решении. Они сосредоточены вокруг дисплея, поскольку испытывают большое количество единиц выгорания экрана ,
Google выпустил усовершенствованную систему распознавания изображений бесплатно
Любой, кто использовал Google Photos или даже систему поиска изображений Google Images, знает, что эти сервисы используют хорошие алгоритмы распознавания изображений. Фотографии и изображения в этих сервисах можно искать не только по описаниям, но и по содержанию (например, «пейзаж», «озеро», «Эйфелева башня»), а также по особенностям фотографии (доминирующий цвет или размер). Технологии, используемые для этой цели, были созданы на месте в Google. Команда,
Ищете реальные математические проблемы? Попробуйте Google Планета Земля!
... google-planeta-zemla-1.jpg> Один из самых распространенных вопросов, которые учителя математики слышат от своих учеников: «Почему это важно?» Они постоянно пытаются убедить учеников, что математика полезна и может помочь им в их повседневной жизни. Но это может быть трудно продать. Одни только проблемы со словом часто кажутся надуманными, и студенты видят их насквозь. Томас Петра преподавал математику на каждом уровне более 20 лет и сталкивался с сомнительными учениками на каждом
Cubot Max Phablet Обзор
Это не секрет, что китайские смартфоны стоят дешевле, но, с другой стороны, китайские производители также не делают ничего, чтобы конкурировать с ведущими брендами. Таким образом, как обычно бывает, мы получаем высококлассные устройства по более низкой цене. Эта история характерна почти для всех китайских производителей смартфонов, и Cubot не является исключением. Этот производитель известен своими привлекательными смартфонами и планшетами, которые имеют спортивные функции даже
Withings Go: отслеживание активности Withings
... сти Go by Withings - небольшой трекер активности, менее дорогой, чем часы Activité, он, тем не менее, имеет те же функциональные возможности и более впечатляющий вид. Он использует то же приложение: Health Mate доступно на Android и iOS бесплатно и требует устройства с низким энергопотреблением Bluetooth. Мониторинг физической активности На земле или в воде Go контролирует вашу физическую активность и помогает вам быть более активным, показывая
Белый принтер Canon SELPHY CP-1300 (CP1300) + бумага KP-108
Этот сайт использует куки для предоставления услуг в соответствии с Политикой файлов cookie. Вы можете указать условия хранения или доступа к куки в вашем браузере. КРАТКОЕ ОПИСАНИЕ: Стильно, компактно и быстро. Этот беспроводной
Как измерить различные длины волн с помощью лазерного измерителя мощности
В последнее время возникла путаница в отношении настройки «лазера» на измерителе мощности Ophir. Джо спросит: «Что делать, если мой лазер не является одной из заданных длин волн? Будет ли оно работать? »Аманда говорит:« Могу ли я установить Nova II на 633 нм, чтобы проверить, какая часть этой длины волны находится в моем широкополосном источнике света? » Изменение длины волны лазера на измерителе мощности Ophir ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я не собираюсь решать
Автомобильная камера Mio MiVue 786 WiFi
Водительский рекордер Mio MiVue 786 - это функциональный клон модели MiVue 785, обогащенный функциями WiFi с возможностью передачи изображений с живых камер на Facebook.
🥇 Протокол испытаний: пылесос для воды ✨ всего 0,00 €
Пылесосы - есть много разных названий для присосок, которые могут сосать как мокрые, так и сухие . С пылесосом, однако, упоминается модель, которая оснащена водяным фильтром. По сравнению с обычными пылесосами пылесосы с водяными фильтрами намного гигиеничнее . В настоящее время, когда пыльца как аллергия вызывает у многих людей чуму и где даже домашняя пыль может вызывать аллергию, домашние помощники этих смутьянов уходят

Комментарии

Com/maps/api/js?
com/maps/api/js?key=YOUR_API_KEY"> </ script> Измените YOUR_API_KEY на ключ, который ранее был написан в текстовом редакторе. Затем откройте и отредактируйте файл 'src / pages / home / home.html', затем замените все теги внутри 'ion-content' на эти строки тегов. <ion-content> <div id = "плавающая панель"> <b> Start: </ b> <select [(ngModel)] = "start" id = "start" (change) = "CalcuAndDisplayRoute ()"> <option value = "chicago,
Настольный ПК, смартфон с Android и MacBook?
Настольный ПК, смартфон с Android и MacBook? Где здесь смысл, где логика? В итоге ручка была сброшена. Я пошел в магазин за Asus UX305. Полушутя и полусерьезно, я ушел из редакции Slack, что у вас есть последний шанс отстранить меня от покупки. Ну вот и началось. Сложно было поспевать за аргументами владельцев Mac и контраргументами «создателей окон». Если вы думаете, что в комментариях к тексту об Apple жарко, вы не видели закулисного Spider Web в дебатах о превосходстве
Как настроить учетную запись Nest?
Как настроить учетную запись Nest? Нест Банк позволяет, в частности, дистанционно заключать соглашение о ROR передача авторизации, курьером. Для обоих методов первым шагом является подача заявки на учетную запись на веб-сайте Nest Bank: Создайте аккаунт на nestbank.pl Для заполнения формы вам понадобятся ваши личные идентификационные данные. Ниже то,
Физическая домашняя кнопка или сенсорные кнопки не показывают Z30 под дисплеем - так как же вы вернетесь из приложения обратно на стартовый экран?
Физическая домашняя кнопка или сенсорные кнопки не показывают Z30 под дисплеем - так как же вы вернетесь из приложения обратно на стартовый экран? Все очень просто: достаточно стереть палец с нижней части экрана, а приложение свернуто. Кстати, он продолжает работать в окне. BlackBerry называет этот жест "взглядом". Немного потренировавшись, пользователи также могут свернуть приложение жестом «заглядывать», глядя на BlackBerry Hub. Кроме того, большой палец не должен быть поднят
На бриллиантовой записке может быть написано «Нужна ли пациенту лабораторная работа?
На бриллиантовой записке может быть написано «Нужна ли пациенту лабораторная работа?» И может быть путь «да» и «нет», вытекающие из него. Несмотря на то, что на картах бережливого производства обычно используются различные символы аннотаций, единственным символом, заимствованным Хагерти, является треугольник, обозначающий время, когда процесс остановлен. Хагерти рисует желтый треугольник рядом с любым шагом, на котором пациент ждет, например, на линии регистрации, в комнате ожидания,
Почему большие инвестиции от Google приведут к чему-то другому?
Почему большие инвестиции от Google приведут к чему-то другому? Мы еще не знаем почему, но Google не может быть счастливым. Во-первых, были жалобы на точность цвета на дисплее Pixel 2 XL. Владельцы телефона отметили, что экран выглядел очень холодным, а цвета выглядели не совсем так, как должны. Это не совсем вина OLED панели. Google внедрил режим sRGB на Pixel 2 и Pixel 2 XL, и отключить его невозможно. У Pixel и Pixel XL от 2016 года есть переключатель. Будущее обновление программного
Потому что и почему они использовали официальное приложение Google?
Потому что и почему они использовали официальное приложение Google? Проблема может быть частично предотвращена Просто заблокируйте телефон на так называемом

Зачем использовать Google Maps Javascript API?
1.jpg> Один из самых распространенных вопросов, которые учителя математики слышат от своих учеников: «Почему это важно?
Джо спросит: «Что делать, если мой лазер не является одной из заданных длин волн?
Будет ли оно работать?
»Аманда говорит:« Могу ли я установить Nova II на 633 нм, чтобы проверить, какая часть этой длины волны находится в моем широкополосном источнике света?
Com/maps/api/js?
Настольный ПК, смартфон с Android и MacBook?
Где здесь смысл, где логика?
Как настроить учетную запись Nest?
Физическая домашняя кнопка или сенсорные кнопки не показывают Z30 под дисплеем - так как же вы вернетесь из приложения обратно на стартовый экран?