Как создать программу навигатор

В данной статье рассматривается проблема создания виртуального тура, проведён обзор решений для конструирования систем подобного рода. Результатом данного анализа послужил макет разработанной системы, которая упрощает процесс создания виртуальной навигации.

Ключевые слова

ВИРТУАЛЬНЫЙ ТУР, СФЕРИЧЕСКАЯ ПАНОРАМА, WEB-НАВИГАЦИЯ

Текст научной работы

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

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

Разработка приложения с геолокацией

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

Построение виртуальных туров являлся трудоёмким процессом. В связи с этим была разработана система «Виртуальный навигатор института», которая упрощает создание web-навигации на сайте. Данная система будет полезна для красивой и эффектной презентации помещения любой организации. С помощью неё можно наглядно продемонстрировать все помещения с описанием интерьера.

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

Разработка велась на базе Волжского политехнического института. В ВУЗе существует виртуальный тур по корпусам института, он представлен на сайте института www.volpi.ru во вкладке «Виртуальный тур», но его недостаток в том, что он статичный, не предоставляющий возможность интерактивного редактирования мультимедийной и текстовой информации об объектах. Тур был построен с использованием Flash-технологий, и для изменения данных виртуального тура требуются специальные навыки работы с пакетами Flash-анимации и определенные усилия.

Целью ставится создание системы с такими задачами:

Урок 6. Как создать приложение навигатора за 20 минут!

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

Процесс создания туров из отдельных панорам, а также внедрения в них интерактивных эффектов, является достаточно сложной задачей и решается на уровне программирования панорамного плеера. Наиболее известными являются: QuickTime, Flash-плеер и Shockwave, каждый из которых имеет свои интерфейсы для программирования панорам. Однако они требуют определённой квалификации пользователя, а также обладают низкой наглядностью и высокой трудоёмкостью разработки и редактирования интерактивных виртуальных туров.

Сравним известные платформы для построения виртуальных туров по разным характеристикам[3] (Табл. 1). Таким образом, оптимальным вариантом, позволяющим охватить максимальную аудиторию, является использование формата HTML 5. Если браузер пользователя не поддерживает HTML 5, то его проинформируют, что ему необходимо обновить свой браузер до определенной версии.

Источник: novainfo.ru

Как создать программу навигатор

Вы можете создать приложение Android с картой, используя шаблон Google Карт для Android Studio. Если у вас уже есть проект Android Studio и вы хотите изменить его настройки, перейдите к описанию конфигурации.

Это краткое руководство предназначено для тех, кто имеет опыт разработки приложений для Android на языках Java или Kotlin.

Как настроить среду разработки

  1. Вам потребуется Android Studio версии Arctic Fox или более поздней. Если у вас нет этого инструмента, скачайте и установите его.
  2. Убедитесь, что вы используете в Android Studio плагин Android Gradle версии 7.0или более поздней.

Как настроить устройство Android

Чтобы запустить приложение с Maps SDK для Android, разверните его на устройстве Android или в эмуляторе ОС Android 4.0 или более поздней версии, поддерживающем API Google.

Скриншот эмуляторов с включенным параметром Google Play.

  • Инструкции по запуску приложений на устройствах Android доступныздесь.
  • Чтобы воспользоваться эмулятором Android, создайте виртуальное устройство и установите на него эмулятор с помощью Менеджера AVD, который доступен в Android Studio. Примечание. Если вы используете эмулятор Android, выберите устройство со значком воспроизведения ( ) в столбце Google Play. Этот значок подтверждает, что профиль полностью совместим с CTS и может использовать образы системы, которые содержат приложение Google Play.
Читайте также:
Программа где человек в маске

Как создать проект Google Карт в Android Studio

  1. Откройте Android Studio и нажмите Create new project (Создать проект) в окне Welcome to Android Studio (Добро пожаловать в Android Studio).
  2. В окне New Project (Новый проект) найдите категорию Phone and Tablet (Телефоны и планшеты). Выберите Google Maps Activity (Операция с Google Картами) и нажмите Next (Далее).
  3. Заполните форму Google Maps Activity (Операция с Google Картами):
    • В поле Language (Язык) выберите Java или Kotlin. Maps SDK для Android полностью поддерживает оба этих языка. Узнайте больше о Kotlin.
    • Укажите минимальную версию SDK (она должна быть совместима с вашим тестовым устройством). Кроме того, эта версия должна быть более поздней, чем минимальная версия, требуемая для работы с Maps SDK для Android 18.0.x. Сейчас это API уровня 19 (Android 4.4, KitKat) и выше. Самую новую информацию о требованиях к версии SDK можно найти в примечаниях к выпуску. Примечание. Если вы не знаете, какую версию SDK выбрать, ознакомьтесь с информацией о распространении поддерживаемых Android SDK. Например, если вы выберете API 19: Android 4.4 (KitKat), ваше приложение сможет работать на 99 % всех устройств Android.
    • Нажмите Finish (Готово). Android Studio запустит Gradle и выполнит сборку проекта. Это может занять некоторое время.
    • Когда сборка будет завершена, в Android Studio откроются файлы AndroidManifest.xml и MapsActivity . Ваш объект activity может иметь другое название, если вы указали его при настройке.
    • Файл AndroidManifest.xml содержит инструкции о том, как получить ключ Google Maps API и добавить его в файл local.properties. Не добавляйте ключ API в файл AndroidManifest.xml , поскольку это небезопасно. Вместо этого выполните инструкции по созданию проекта Google Cloud и настройке ключа API, приведенные в разделах ниже.

    Настройка проекта Google Cloud

    Выполните настройку Cloud Console на указанных ниже вкладках.

    Шаг 1

    Cloud Console

    1. Чтобы приступить к созданию проекта, перейдите на страницу выбора проекта в консоли Google Cloud Console и нажмите Создать проект. Перейти на страницу выбора проекта
    2. Убедитесь, что для проекта Google Cloud включены платежные функции. Мы предлагаем бесплатный пробный период для использования Google Cloud. Он длится 90 дней или пока сумма расходов не достигнет 300 долл. США, в зависимости от того, что произойдет раньше. Отменить его можно в любое время. Для работы с платформой Google Карт предоставляется ежемесячный кредит на сумму 200 долл. США. Ознакомьтесь с информацией о кредитах в платежных аккаунтах и платежных функциях.

    Cloud SDK

    gcloud projects create «PROJECT»

    Прочитайте статьи о Google Cloud SDK, установке Cloud SDK и следующих командах:

    Шаг 2

    Для работы с платформой Google Карт вам потребуется включить API и SDK, которые будут использоваться в проекте.

    Консоль

    Cloud SDK

    gcloud services enable —project «PROJECT» «maps-android-backend.googleapis.com»

    Прочитайте статьи о Google Cloud SDK, установке Cloud SDK и следующих командах:

    • gcloud services enable
    • gcloud services disable

    Шаг 3

    Этот шаг относится к процессу создания ключа API. Если у вас есть собственный ключ API, мы настоятельно рекомендуем настроить для него ограничения. Дополнительную информацию о том, как использовать ключи API для разных продуктов, вы найдете на этой странице.

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

    Чтобы создать его, выполните следующие действия:

    Cloud Console

    1. Откройте страницу Google Maps Platform > Credentials (Платформа Google Карт > Учетные данные). Перейти на страницу Credentials (Учетные данные)
    2. На странице Учетные данные нажмите Создать учетные данные > Ключ API.
      Появится диалоговое окно с созданным ключом API.
    3. Нажмите Close (Закрыть).
      Новый ключ API можно будет найти в разделе Ключи API на странице Учетные данные.
      Не забудьте настроить ограничения для ключа API, прежде чем использовать его в рабочей среде.

    Cloud SDK

    gcloud alpha services api-keys create —project «PROJECT» —display-name «DISPLAY_NAME»

    Прочитайте статьи о Google Cloud SDK, установке Cloud SDK и следующих командах:

    Как добавить в приложение ключ API

    В этом разделе рассказывается, как настроить защищенный вызов ключа API вашим приложением. Вводить ключ API в систему управления версиями нежелательно, поэтому мы рекомендуем хранить его в файле local.properties в корневом каталоге проекта. Подробные сведения о файле local.properties можно найти в описании файлов свойств Gradle.

    Чтобы быстрее выполнить эту задачу, используйте плагин Secrets Gradle Plugin for Android. Чтобы установить плагин и настроить хранение ключа API, выполните следующие действия:

      В Android Studio откройте файл build.gradle уровня проекта и добавьте в элемент dependencies , принадлежащий элементу buildscript , указанный ниже код.

    plugins < // . id ‘com.google.android.libraries.mapsplatform.secrets-gradle-plugin’ version ‘2.0.1’ apply false >
    id ‘com.google.android.libraries.mapsplatform.secrets-gradle-plugin’
    MAPS_API_KEY=YOUR_API_KEY

    Примечание.

    Как показано выше, рекомендуемое имя метаданных для ключа API – com.google.android.geo.API_KEY . Ключ с таким именем может использоваться для аутентификации нескольких API созданных на основе Google Карт для платформы Android, включая Maps SDK for Android. Для обеспечения обратной совместимости API также поддерживает имя com.google.android.maps.v2.API_KEY . Это устаревшее имя обеспечивает аутентификацию только для Android Maps API версии 2. Приложение позволяет указать только одно из имен в метаданных ключа API. Если указаны оба имени, API вызывает исключение.

    Читайте также:
    Что является средством хранения редко используемых данных резервных копий старых версий программ

    Проанализируйте код

    Изучите код, содержащийся в шаблоне. В частности, просмотрите указанные ниже файлы в проекте Android Studio.

    Файл activity для карты

    Файл activity для карты – это основной операционный файл для приложения. Он содержит код для отображения карты и управления ей. По умолчанию такой файл называется MapsActivity.java . Если же в качестве языка для приложения вы выбрали Kotlin, он будет называться MapsActivity.kt .

    Основные элементы файла activity

    • Объект SupportMapFragment управляет жизненным циклом карты и является родительским элементом для интерфейса приложения.
    • Объект GoogleMap предоставляет доступ к данным карты и ее представлению. Это основной класс в Maps SDK для Android. Дополнительную информацию об объектах SupportMapFragment и GoogleMap вы можете найти в этом руководстве.
    • Функция moveCamera центрирует карту по координатам LatLng (Сидней, Австралия). Как правило, при добавлении карты первым делом нужно изменить настройки местоположения и камеры: угол обзора, ориентацию карты, масштаб и т. п. Подробнее…
    • Функция addMarker добавляет маркер к координатам Сиднея. Подробнее…

    Файл activity для карты содержит следующий код:

    Java

    Kotlin

    import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import com.google.android.gms.maps.CameraUpdateFactory import com.google.android.gms.maps.GoogleMap import com.google.android.gms.maps.OnMapReadyCallback import com.google.android.gms.maps.SupportMapFragment import com.google.android.gms.maps.model.LatLng import com.google.android.gms.maps.model.MarkerOptions internal class MapsActivity : AppCompatActivity(), OnMapReadyCallback < private lateinit var mMap: GoogleMap override fun onCreate(savedInstanceState: Bundle?) < super.onCreate(savedInstanceState) setContentView(R.layout.activity_maps) // Obtain the SupportMapFragment and get notified when the map is ready to be used. val mapFragment = supportFragmentManager .findFragmentById(R.id.map) as SupportMapFragment mapFragment.getMapAsync(this) >/** * Manipulates the map once available. * This callback is triggered when the map is ready to be used. * This is where we can add markers or lines, add listeners or move the camera. In this case, * we just add a marker near Sydney, Australia. * If Google Play services is not installed on the device, the user will be prompted to install * it inside the SupportMapFragment. This method will only be triggered once the user has * installed Google Play services and returned to the app. */ override fun onMapReady(googleMap: GoogleMap) < mMap = googleMap // Add a marker in Sydney and move the camera val sydney = LatLng(-34.0, 151.0) mMap.addMarker(MarkerOptions() .position(sydney) .title(«Marker in Sydney»)) mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)) >>

    Gradle-файл модуля

    Файл модуля build.gradle содержит указанные ниже зависимости, которые требуются для работы Maps SDK для Android.

    dependencies < implementation ‘com.google.android.gms:play-services-maps:18.1.0’ // . >
    Примечание. Точная версия может меняться в зависимости от текущей версии Maps SDK для Android.

    XML-файл макета

    Файл activity_maps.xml – это XML-файл макета, который определяет структуру интерфейса в приложении. Он находится в каталоге res/layout . Файл activity_maps.xml объявляет фрагмент со следующими элементами:

    • Элемент tools:context задает MapsActivity в качестве действия по умолчанию для фрагмента. Это действие определено в файле activity.
    • Элемент android:name задает SupportMapFragment в качестве имени класса для фрагмента. Этот тип фрагмента используется в файле activity.

    XML-файл макета содержит следующий код:

    Выполните развертывание и запустите приложение

    Скриншот карты с маркером, центрированным по координатам Сиднея (Австралия).

    Если приложение запущено успешно, в нем будет показана карта, отцентрированная по координатам Сиднея (Австралия). Вы увидите маркер, как на скриншоте.

    Следуйте инструкциям ниже.

    1. Чтобы запустить приложение, в Android Studio выберите пункт меню Run (Запустить) или нажмите кнопку со значком воспроизведения.
    2. Когда откроется окно с предложением выбрать устройство, выполните одно из следующих действий:
      • Выберите устройство Android, подключенное к вашему компьютеру.
      • Вы также можете установить переключатель Launch emulator (Запустить эмулятор) и выбрать виртуальное устройство, которое настроили ранее.
      • Нажмите ОК. Android Studio запустит Gradle для сборки приложения, а затем отобразит результаты на устройстве или в эмуляторе. Для запуска приложения может потребоваться несколько минут.

      Дальнейшие действия

      • Настройте карту. В этой статье рассказывается о том, как задать для карты исходные настройки и настройки времени выполнения, например положение камеры, тип карты, компоненты интерфейса и жесты.
      • Добавьте карту в свое приложение Android (Kotlin). В этом руководстве рассказывается, как использовать в приложении дополнительные функции Maps SDK для Android.
      • Используйте библиотеку Maps Android KTX. Это набор расширений Kotlin (KTX) содержит несколько языковых функций Kotlin, полезных при использовании Maps SDK для Android.

      Отправить отзыв

      Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons «С указанием авторства 4.0», а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.

      Последнее обновление: 2023-06-26 UTC.

      Источник: developers.google.com

      Простой GPS навигатор своими руками

      Простой GPS навигатор своими руками

      Во многих современных телефонах есть GPS, но для работы навигатора необходима подгрузка карт через интернет, что в дали от GSM вышек является проблемой. Также большая проблем — это быстрый разряд аккумулятора смартфонов, особенно в холодное время года. За раз путешественник остаётся не только без навигации, но и без связи. Иметь с собой независимое навигационное устройство будет очень кстати. Подобное устройство и будет предлагаться в статье, ниже.

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

      Читайте также:
      Коды компетенций формированию которых способствует элемент программы

      Схема самодельного навигатора

      Простой GPS навигатор своими руками

      Схема строится на микроконтроллере ATMega64 с тактированием от внешнего кварцевого резонатора на 11,0592 МГц. За работу с GPS отвечает NEO-6M от U-blox, это хоть и старенький, но очень распространенный и недорогой модуль с достаточно точным определением координат. Информация выводится на дисплей от Nokia 3310 (5110). Еще в схеме присутствуют магнитометр HMC5883L и акселерометр ADXL335.

      Простой GPS навигатор своими руками

      HMC5883L достаточно распространенный и недорогой датчик, для общения с микроконтроллером используется стандартный I 2 C интерфейс.
      Чип выпускается в крошечном 16-и выводном корпусе LPCC размерами 3х3 мм.

      Обозначение выводов:

      1. SCL — вход тактирования шины I2C
      2. VDD — вход для подключения питания (кормится эта козявка напряжением в диапазоне 2,16-3,6 вольт)
      3. не используется
      4. S1 — дополнительное питание для портов ввода/вывода. Подключается напрямую к выводу VDDIO
      5. не используется
      6. не используется
      7. не исползуется
      8. SETP — первый вход для подключения керамического конденсатора на 0,22uF
      9. GND — земля
      10. С1 — еще один вход для подключения конденсатора. Электролитичиского или танталового на 4,7uF (другой конец конденсатора подключается к земле)
      11. GND — земля
      12. SETC — второй вход для подключения керамического конденсатора на 0,22uF
      13. VDDIO — вход для подключения напряжения которое будет на портах ввода/вывода
      14. не используется
      15. Выход прерывания, когда данные готовы на этом выводе появляется логическая 1
      16. SDA — линия данных интерфейса I2C

      Печатная плата навигатора

      Простой GPS навигатор своими руками

      Схема и плата спроектированы в системе EasyEDA.

      Перед прошивкой контроллера рекомендую отключить GPS приемник, так как ножка RXD совмещена c линией MOSI и модуль может начать отправлять данные во время прошивки, что вызовет ошибку в загружаемой программе.

      Простой GPS навигатор своими руками

      Простой GPS навигатор своими руками

      Простой GPS навигатор своими руками

      Включение и выключение устройства происходит длинным нажатием на кнопку S5. После включения и поиска спутников (при холодном старте может уйти до 10 минут или даже больше) мы можем посмотреть текущие координаты, нажав на кнопку S2.

      Простой GPS навигатор своими руками

      Координаты конечной точки можно посмотреть нажав на кнопку S3.

      Простой GPS навигатор своими руками

      Нажав кнопку S4 попадаем в меню сохранения точки. Сохранить точку можно двумя способами:

      1. сохранить текущие координаты

      Простой GPS навигатор своими руками

      Простой GPS навигатор своими руками

      2. забить координаты вручную

      Простой GPS навигатор своими руками

      Простой GPS навигатор своими руками

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

      Вернуться в режим следования к точке можно по короткому нажатию на кнопку S5

      Простой GPS навигатор своими руками

      Теперь об использовании магнитометра и акселерометра. Для расчета азимута используются данные полученные с GPS приемника, поэтому в случае если рассчитать координаты не возможно (например если спутники не видны или их мало) пропадает возможность и рассчитать направление в котором нужно двигаться, чтобы придти к точке. И первоначально моя задумка была в том, чтобы использовать магнитометр как вспомогательное средство для указания курса. Но столкнулся с некоторыми трудностями.

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

      Во-вторых, заметно сказывается различие магнитного склонения в разных частях Земли. Например в Поволжье магнитное склонение составляет 13°, а на другом конце страны склонение уже 11° и в другую сторону. А ведь есть еще и магнитное наклонение — когда линии магнитного поля входят или выходят под углом к горизонту, и много других факторов влияющих на показания.

      Простой GPS навигатор своими рукамиПростой GPS навигатор своими руками

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

      Осталось распечатать на 3-D принтере под устройство корпус, а пока о результатах уличных испытаний. Девайс получился очень интересным и вполне очень даже помогающим выйти к сохраненной точке. Но нужно понимать, что миллиметровой точности ожидать не следует. Ошибка определения GPS координат всего в одну секунду даст неточность определения положения в 20 метров.

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

      Простой GPS навигатор своими руками

      Это устройство станет незаменимым помощником тем, кто любит побродить по лесу, грибникам, лыжникам, туристам и другим любителям природы!

      Используемые в устройстве компоненты (их можно заказать в интернет-магазине из Китая):

      • GPS модуль NEO-6M
      • ЖК дисплей
      • Магнитометр HMC5883
      • Акселерометр ADXL335

      Корпус для направлятора

      Простой GPS навигатор своими руками

      Простой GPS навигатор своими руками

      P.S. По просьбам пользователей обновил прошивку (по ссылке выше две прошивки), исключив из схемы акселерометр и магнитометр. Теперь по нажатию на кнопку S1 будет выводится информация о напряжении на аккумуляторе, время и дата по UTC, а также азимут — тот же компас

      Источник: www.mastervintik.ru

      Рейтинг
      ( Пока оценок нет )
      Загрузка ...
      EFT-Soft.ru