Google android google maps navigation

Maps SDK для Android: краткое руководство

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

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

Настройте среду разработки

Вам обязательно потребуется Android Studio. Если у вас нет этого инструмента, скачайте и установите его.

Добавьте в Android Studio SDK сервисов Google Play. Maps SDK для Android является частью SDK сервисов Google Play, доступного в SDK Manager.

Настройте устройство Android

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

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

Создайте проект Google Карт

Откройте Android Studio и нажмите Create new project (Создать проект) в окне Welcome to Android Studio (Добро пожаловать в Android Studio).

В окне New Project (Новый проект) найдите категорию Phone and Tablet (Телефоны и планшеты). Выберите Google Maps Activity (Операция с Google Картами) и нажмите Next (Далее).

Заполните форму Google Maps Activity (Операция с Google Картами):

В поле Language (Язык) выберите Java или Kotlin. Maps SDK для Android полностью поддерживает оба этих языка. Дополнительную информацию о Kotlin вы можете найти здесь.

Укажите минимальную версию SDK. Это должна быть версия Android SDK, которую поддерживает ваше тестовое устройство.

Нажмите Finish (Готово).

Когда вы завершите создание проекта, Android Studio запустит Gradle для его сборки. Это может занять некоторое время. Когда сборка будет завершена, в Android Studio откроются файлы google_maps_api.xml и MapsActivity . Ваш объект activity может иметь другое название, если вы указали его при настройке.

Дополнительную информацию о создании проекта вы можете найти здесь.

Файл google_maps_api.xml содержит инструкции о том, как получить ключ Google Maps API и добавить его в файл. Не добавляйте ключ API в файл, поскольку это снижает безопасность. Вместо этого выполните инструкции из раздела ниже.

Настройки в Cloud Console

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

Шаг 1

Cloud Console

Чтобы приступить к созданию проекта, перейдите на страницу выбора проекта в консоли Google Cloud Console и нажмите Создать проект.

Убедитесь, что для проекта Google Cloud включены платежные функции.

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

Cloud SDK

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

Шаг 2

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

Консоль

Cloud SDK

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

Шаг 3

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

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

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

Cloud Console

Откройте страницу Google Maps Platform > Credentials (Платформа Google Карт > Учетные данные).

  • На странице Учетные данные нажмите Создать учетные данные > Ключ API.
    Появится диалоговое окно с созданным ключом API.
  • Нажмите Close (Закрыть).
    Новый ключ API можно будет найти в разделе Ключи API на странице Учетные данные.
    Не забудьте настроить ограничения для ключа API, прежде чем использовать его в рабочей среде.
  • Cloud SDK

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

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

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

    Чтобы вам было проще работать, используйте Secrets Gradle Plugin для Android.

    Чтобы установить плагин и настроить хранение ключа API, выполните следующие действия:

    1. В Android Studio откройте файл build.gradle корневого уровня и добавьте в элемент dependencies , принадлежащий элементу buildscript , указанный ниже код.
    2. Откройте файл build.gradle уровня приложения и добавьте в элемент plugins указанный ниже код.
    3. Сохраните файл и синхронизируйте проект с Gradle.
    4. Откройте файл local.properties в каталоге уровня проекта и добавьте в этот файл приведенный ниже код. Укажите вместо YOUR_API_KEY свой ключ API.
    5. Сохраните файл и синхронизируйте проект с Gradle.
    6. В файле AndroidManifest.xml найдите раздел com.google.android.geo.API_KEY и измените android:value attribute следующим образом:
    Читайте также:  Андроид выключает вай фай

    Примечание. Как показано выше, рекомендуемое имя метаданных для ключа 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 для карты содержит следующий код:

    Источник

    Google Карты: обзор навигационного ПО для Android

    Общая информация

    В следующем году проект «Карты Google» отметит круглую дату — десятилетие с момента своего создания, и ему есть чем гордиться. За свое десятилетие он оброс всевозможными сервисами, API, стал коммерчески успешным и популярным во всем мире.

    Что касается мобильной версии для Android, то она стала доступна пользователям одновременно с официальным выходом этой операционной системы в 2008 году, а журналистам ее работа демонстрировалась еще задолго до этого события. С тех пор функциональность «Карт» постоянно дополнялась, а само приложение непрерывно совершенствовалось. Ему «покорялись» новые страны, где появлялись десятки и сотни детализированных карт городов, фотографии улиц, режим StreetView, спутниковая и аэрофотосъемка, маршруты с использованием общественного транспорта и автонавигация. На последней функции мы и сделаем основной акцент в нашем обзоре, сосредоточившись в основном на ее применимости на территории России.

    Ценообразование и лицензионная политика

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

    Системные требования

    Существуют версии для всех ОС Android, но рекомендуются версии ОС 4.0 и более поздние.

    Функциональность

    Основные функции приложения Карты Google 7.7.0 отражены в нашей традиционной таблице:

    Интерфейс
    Ручное масштабирование карты во время навигации да
    Индикаторы аккумулятора / спутников / GSM строка статуса ОС
    Смена ориентации карты да
    Ручное вращение карты да
    Информация о пробеге нет
    Экран обзора спутников нет
    Режим 3D да
    Наклон карты да
    Панель быстрого доступа нет
    «Маршрутный компьютер» нет
    Ночной режим да
    Дополненная реальность нет
    Поиск
    Универсальный да
    Адресный нет
    По координатам да (через Google)
    POI вокруг / у точки / у финиша да / да / да
    Голосовой ввод да
    Работа с маршрутами
    Сохранить / загрузить / переслать нет / нет / нет
    Имитация езды по маршруту нет
    Отображение целиком да
    Работа с треками нет
    Режимы работы: легковой авто / грузовой / пешеходный / общественный транспорт да / нет / да / да
    Карты
    Обновление карт online
    Возможность загрузки и использования офлайн да, отдельных участков*
    Поставщик карт собственные
    Установка сторонних и бесплатных карт нет
    Редактирование карт только сообщения об ошибках
    Онлайн-сервисы
    Отображение пробок да
    Динамические POI из Waze
    Друзья на карте нет
    Тематические новостные ленты нет
    Фото на карте только для POI
    Обзорные фотографии улиц (Streetview) да
    Погода нет
    Запрет выхода в Сеть нет

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

    Интерфейс

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

    Новомодное 3D присутствует, причем многие здания имеют не только соответствующую высоту, но и полноценные 3D-модели. Чтобы оценить его, нужно наклонить карту проведя двумя пальцами снизу вверх по экрану.

    Основное меню также аскетично до предела.

    А раздел настроек и вовсе практически пуст.

    Читайте также:  Мокап андроида для фигмы

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

    Краткое резюме

    Понравилось: аскетичность, простота, быстрая и плавная работа.

    Не понравилось:

    Поиск и работа с картой

    Кто бы сомневался, что кроме универсальной поисковой строки в приложении ничего другого не предусмотрено. Она проста и удобна, вдобавок имеет голосовой ввод, реализованный встроенными средствами ОС. Но последний немного туговат на ухо. У Яндекса распознавание реализовано заметно лучше.

    Разумеется, у поисковой строки есть подстрочник, который показывает наиболее вероятные (или популярные) варианты по мере набора слова или фразы. Однако в нем частенько встречаются фразы по 8-10 слов. Откуда они там берутся — сказать сложно.

    У текстового поиска тоже есть своя «тугоухость». Хотя с корпусами, строениями и буквами домов особых проблем нет (но иногда все же случаются осечки, потому все время ждешь подвоха), с владениями система уже путается. Например, не получится найти на карте в Москве «Булатниковская владение 2», где расположена заправка сети Лукойл, даже если в строчке написать «Булатниковская вл2д», как это отображается в подписи на самой карте, или «Булатниковская, 2 — Д», как это указано в информации о заправке на карте, или «Булатниковская, владение 2Д», как написано в информации о здании, если просто нажать на нем на карте. Запутались? Вот и Google тоже путается. Тяжко ему в России. Но дальше — больше. Если в поиске набрать «Булатниковская 4 к2», то приложение начнет вам подсовывать улицу «Болотниковскую», расположенную в другом районе Москвы, где есть дома с аналогичными номерами:

    Схожая проблема наблюдается и при поиске некоторых других улиц.

    Есть проблема и с POI. Вам надо найти магазин ОБИ, что рядом с метро «Теплый стан»? По версии Google, он переехал в город Видное:

    Конечно, мы специально выдали подборку бредовых вещей (не всех, мы экономим ваше время). Потому добавим, что в целом поиск не так плох, как мы его обрисовали, но и не так хорош и удобен, как у Яндекс.Навигатора. При поиске POI в Google Картах попадается много мусора, ошибок, а также иногда отсутствует информация о крупных торговых магазинах и центрах. Но есть у него и большой плюс: оценки и отзывы пользователей, привязанные к объектам POI. А также фотографии.

    Разумеется, вы также можете оставить свой отзыв, оценку или фото, если захотите.

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

    Также через просмотр дополнительной информации можно перейти к режиму просмотра уличных панорам (Streetview).

    Если на карте вами была замечена ошибка, можно в пару нажатий сообщить о ней разработчикам.

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

    Краткое резюме

    Понравилось: наличие универсальной поисковой строки, отзывы и оценки, функция Streetview, возможность сообщить об ошибке.

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

    Актуальность карт

    Традиционно мы выносим оценку в этом пункте, изучая те места карты, которые недавно менялись и хорошо знакомы автору данной статьи. И это второй случай в нашей практике, после детального изучения шести самых популярных навигационных приложений для Android, когда мы видим карту Москвы в относительно запущенном состоянии. Множество новых дорог и развязок либо вовсе отсутствуют, либо прорисованы неверно. Например, развязка улицы Подольских курсантов и МКАД содержит только разворотную эстакаду над МКАДом, которой на самом деле нет. То есть кто и с какого бодуна нарисовал эту развязку — загадка. На всякий случай приведем скриншот этого безобразия в сравнении с Яндекс.Навигатором:

    Но понятнее всего эта развязка изображена на Яндекс.Картах:

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

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

    Также есть проблема и с адресами. Части новостроек, введенных в эксплуатацию 4-5 лет назад, на карте нет вовсе. Другая часть присутствует в виде плоских контуров без адресов.

    В общем, все это странно.

    Маршруты и навигация

    Приложение сразу сообщает, что функция автонавигации находится в состоянии бета-версии.

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

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

    Разумеется, более одного маршрута будет построено только тогда, когда в этом есть смысл.

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

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

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

    При уходе с маршрута приложение использует логику «объезд» и не играет на нервах непрерывными просьбами развернуться при первой возможности.

    Но на этом «мед» заканчивается и начинается «ложка дегтя». Во-первых, нет отображения и предупреждения о камерах, а также об ограничениях скорости на текущем участке маршрута. И хотя абсолютное большинство водителей уже натренировалось не превышать скорость более чем на 20 км/ч, все равно случается задуматься или пропустить знак, и навигатор тут был бы неплохим помощником.

    Во-вторых, нет возможности установки DPOI — по крайней мере, нам так и не удалось разобраться в том, как это можно сделать. Тем не менее, DPOI, установленные в приложении Waze, которое не так давно купила Google, отображаются и на Google Картах (не во всех регионах), подтверждение чему можно видеть на картах других стран.

    Там же попадаются DPOI, где нет примечания, что они поставлены пользователями Waze. В общем, пока у нас нет нормального ответа на этот вопрос.

    С пробками в Москве тоже не все гладко. После нескольких дней езды создалось впечатление, что у того же Яндекса информация куда более актуальная, хотя он тоже не безгрешен.

    Краткое резюме

    Понравилось: адекватные маршруты, удобный выбор вариантов маршрутов.

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

    Всякие «плюшки»

    Исторически в плане навигации приложение было более ориентировано на пешие прогулки, перемещение на общественном транспорте, а также поиск различных POI. И в этом его сила. Оно не только построит маршрут, но и проведет вас по нему. Подскажет в автобусе заранее, на какой остановке вам выходить и куда пройти для пересадки на другой вид транспорта, если это необходимо. Не забыты и пригородные поезда, а маршруты строятся с учетом их расписания.

    С пешими маршрутами ситуация чуть хуже. Google не располагает достаточным количеством данных о пешеходных переходах над железными дорогами и магистралями.

    И если навигация по общественному транспорту в Москве работает весьма неплохо и, кстати, также предлагает несколько вариантов маршрутов, что очень удобно, то схемы общественных мест для России (вокзалов, аэропортов, торговых центров и пр.) — пока экзотика. На Москву и Питер их насчитывается около трех десятков. Трудно найти их и в популярных зарубежных странах, но, как говорится, лиха беда начало.

    Тестирование

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

    Установка

    С установкой проблемы возникнут у аппаратов, которые имеют региональную привязку к Китаю. Для них в Google Play «Карты» не отображаются вовсе. Попытка найти в Сети дистрибутив может занять некоторое время, поскольку для разных платформ и версий ОС дистрибутивы разные. Но если ваш аппарат не «чистокровный китаец», то, скорее всего, «Карты» в нем уже предустановлены.

    Время прокладки маршрутов

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

    Утилизация ресурсов системы

    На одноядерных системах начального уровня загрузка приложения происходит за 2-4 секунды. В процессе ведения по маршруту утилизация вычислительного ядра SoC колеблется на уровне 50-70%. При прокрутке карты и изменении масштаба она стремится к отметке 90%, но все действия происходят достаточно плавно. С одной стороны — неплохо, а с другой — можно было бы и получше, поскольку графика очень проста, а детализация карты крайне низка вплоть до самых крупных масштабов.

    Место во внутренней памяти расходуется весьма экономно. После недели поездок, изучения карт Москвы и области, некоторых городов России, а также некоторых других стран кэш карт занял примерно 65 МБ. А расположен он вот тут: /mnt/sdcard/Android/data/com.google.android.apps.maps/cache/.

    Объем сетевого трафика за поездку

    По московским пробкам набегает 5-6 МБ/ч, если кэш карт до этого был пуст, а вы пользовались поиском и прокруткой карты на разных масштабах вдоль маршрута.

    Выводы

    На данный момент использование приложения Google Карты в качестве автонавигатора на территории России выглядит несколько сомнительной затеей. Тут и несвоевременно обновляемая карта с капризной и требовательной системой ввода адресов, и замусоренная база POI с ошибками и немодерируемыми комментариями, и отсутствие предупреждений о камерах и скоростных ограничениях. (Кстати, Яндекс.Навигатор также не информирует о скоростном режиме, а о камерах предупреждает тогда, когда она вас уже «засекла».) И еще всякие мелкие огрехи. В итоге, если выбирать из двух бесплатных «зол» меньшее, то это Яндекс. Хотя наверняка найдутся отдельные регионы, где какой-то участок карты у Google будет отрисован лучше, и тут уже каждый решает сам.

    Ну а чем хороши Google Карты? От них однозначно будет толк в зарубежных поездках. Также многие должны оценить построение маршрутов с использованием общественного транспорта и ведение по ним. Добавим сюда отзывы и оценки POI, панорамы улиц! Так что лишними Google Карты, конечно, не будут.

    Источник

    Оцените статью