Яндекс карты для android studio

Интеграция карт в ваше Android-приложение

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

В данном статье я расскажу как интегрировать возможность просмотра карт для мобильных устройств на основе Android, на примере Yandex Карт и Google Maps.
Функционал библиотек этих компаний позволяет:

  • Перемещать карту
  • Изменять масштаб
  • Изменять виды карт
  • Получать события от карты

Начнём с отечественного производителя.

Yandex

Библиотеку Yandex MapKit можно скачать с GitHub’а, там же есть версия и для iOS.
Но прежде чем начать использовать, нам надо получить API-key, для этого идём на почту и пишем письмо в support@mobmaps.yandex.ru, указав в заголовке «Map Kit запрос API-ключа». В ответ вам пришлют письмо с указанием дополнительных ссылок на документацию, на правила использования и собственно с самим ключом в теле письма (а могут и не прислать, кстати).

Пока ждём письмо, берём библиотеку и прикрепляем её к проекту.

После долгого ожидания с кружкой кофе, знакомимся с содержимым письма и информации по ссылкам, берём ключик и пишем в вашем layout’е приложения следующий код:

где заместо «you are key» вставляем полученный ключ. Всё, карта есть.

Далее код показывает, как перемещать карту на заданную координату и использовать зум:

Google

Для использования Google Maps надо совершить куда более изощрённые действия. Я расскажу, как получить debug-key для использования карт, но процесс получения release версии похоже несколько замороченней, но я release ещё не получал.

Для получения debug-key, надо найти ваше хранилище ключей, для отладки.
По-умолчанию, путь будет выглядеть примерно так:

Затем открываем командную строку, переходим в каталог, куда установлена Java:

где путь_до_хранилища_ключей — свой путь до debug.keystore (осторожно, возможны проблемы с пробелами в пути).

После чего в том же окне будет выведен md5-ключ после «Certificate fingerprint (MD5)».
Идём по ссылке и регистрируем код.
После чего Google сгенерирует с нужным кодом для layout и встроенным кодом, берём его и вставляем к себе в layout.
Далее нам, надо наш Activity представить в примерно следующем виде:

Читайте также:  Безопасный запуск андроид пароль

Замечу, что Activity наследован должен быть от MapActivity хранящийся в com.google.android.maps.MapActivity.
А в манифесте прописать между тегами вставить:

И не забыть, про разрешение доступа в интернет для приложения:

В остальном функционал GoogleMaps и YandexMapKit весьма схож:

Как можно видеть, процесс интеграции карт в приложения довольно простой, а спектр использования довольно широк.
Более подробно можно ознакомиться ниже.

Определение собственной позиции

Чтобы немного расширить пример, приложу кусок кода:

Но для использования этого кода, в манифесте следует указать следующее разрешение:

Источник

Яндекс карты для android studio

Yandex Map Kit for Android

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Эта версия больше не поддерживается, актуальную инфрмацию о новых версиях MapKit можно найти по ссылкам:

В этом репозитории находится тестовое приложение, демонстрирующее возможности Yandex Map Kit.

  1. Добавлено новое API уOverlayItem setOverlayItemListener #256
  2. Исправлена ошибка #253
  3. Исправлена ошибка #249
  4. Исправлена ошибка #240
  5. Исправлена ошибка #234
  1. Исправлена ошибка утечки #243
  2. Исправлена ошибка #240
  3. Добавили свойство в MapEvent isGesture() #237
  1. Исправлены ошибки при отображении карты
  2. Добавлен arm64-v8a и x86_64 архитектуры
  1. Исправлены ошибки отображения кнопок на карте
  2. Добавлен пример работы с запросом разрешений на получения геопозиции
  1. Исправлены ошибки, приводившие к падениям
  2. Удалены все запросы разрешений, кроме получения геопозиции
  1. Клонируйте репозиторий примера git clone https://github.com/yandexmobile/yandexmapkit-android.git
  2. В папке yandexmapkit-sample находится пример приложения который через gradle зависимость подключает мапкит
  3. Данные проекты уже настроены для работы в среде Eclipse
  4. Импортируйте данные проекты в среду Eclipse или Android Studio
  5. Выполняете Gradle Sync для проекта.
  6. Подставьте свой API ключ во все layout где используется объект MapView
  7. Всё готово к запуску тестового проекта

Запуск из командной строки.

Миграция с первой версии

  1. При создании OverlayItem необходимо в конструкторе вместо объекта Bitmap передавать Drawable, можно воспользоваться new BitmapDrawable(you_bitmap)
  2. При создании объекта BalloonItem необходимо в конструкторе передавать Context (необходимый для загрузки ресурсов)
  3. Исправить использования интерфейса с OnBallonListener на OnBalloonListener и добавить новые методы из данного интерфейса
  4. Исправить имя метода у BalloonItem с setOnBallonListener на setOnBalloonViewClickListener
  5. Необходимо изменить логику работы интерфейса OnBalloonListener метода onBallonClick на onBalloonViewClick

Интеграция с Яндекс.Картами

Документация по интеграции с мобильными Яндекс.Картами выложена на tech.yandex.ru

Также у этого проекта есть:

  • Wiki, в которой содержится полезная информация о Yandex Map Kit.
  • JavaDoc, который находится в yandexmapkit-library/doc. В нем содержится описание классов и методов Yandex Map Kit.

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

Источник

Путь с указателями направления на карте с использованием Yandex Map Kit для Android

В этом сообщении рассмотрим:

  1. Встраивание библиотеки Yandex Map Kit Android в проект
  2. Создание расширения для класса Overlay с целью вывода на карту пути с указателями направления и обработки событий «onClick» по карте
Читайте также:  Android and php developer

1. Встраивание библиотеки в проект (Eclipse, Windows)

Загружаем архив с библиотекой отсюда и получаем API-ключ.
Создаем проект в Eclipse, копируем с заменой папки \yandexmapkit-library\res и \yandexmapkit-library\libs из загруженного архива в папку нашего проекта.
В настройках проекта добавляем ссылку на yandexmapkit-android.jar из папки libs нашего проекта (Build Path->Configure Buil Path->Libraries->Add External JARs)
Добавляем разрешения в манифест нашего проекта

Изменяем разметку activity

2. Создание расширения для класса Overlay с целью вывода на карту пути с указателями направления и обработки событий «onClick» по карте

Чтобы нарисовать путь, нам потребуется расширить класс OverlayIRender, который реализует интерфейс IRender

Если количество точек добавленных в наш путь больше 1, то в цикле отрисовываются отрезки пути и стрелки направления.
Теперь нужно создать наследника Overlay MyPathOverLay, назначить ему MyOverlayIRender для отрисовки.

Источник

Launch Yandex.Maps Android app

This section applies to the Yandex.Maps mobile app, version 4.0 or higher.

You can launch mobile Yandex.Maps for Android from a Java app or browser page. Use the yandexmaps URL scheme to launch the app. Yandex.Maps can run the following actions on launch:

Support for geo scheme section shows how to open the map using a different URI scheme. With this method, the user can choose which app to open.

Open map

You can display the map using the following URL format:

Map center coordinates (longitude, latitude).

Map zoom. An integer from 1 to 18, where 1 is the least detailed map zoom (whole world), and 18 is the highest zoom possible.

Viewport. Longitudinal and latitudinal size of the viewport in degrees, comma-separated. For example, to set a viewport of 10.5 degrees, specify: spn=10.5, 10.5 .

The viewport center is set using the ll parameter (map center).

If z (zoom) is already set, then spn is ignored.

Map type and traffic information.

Type of map: map (Map), sat (Satellite), skl (Hybrid), pmap (Public Map).

Show road traffic: trf (\»traffic\» layer). You can enable the traffic layer only, or combine it with some map type. In this case, the parameter values are comma-separated. For example: l=map,trf .

Parameter Data type Description

Map center coordinates (longitude, latitude).

Map zoom. An integer from 1 to 18, where 1 is the least detailed map zoom (whole world), and 18 is the highest zoom possible.

Viewport. Longitudinal and latitudinal size of the viewport in degrees, comma-separated. For example, to set a viewport of 10.5 degrees, specify: spn=10.5, 10.5 .

The viewport center is set using the ll parameter (map center).

If z (zoom) is already set, then spn is ignored.

Map type and traffic information.

Type of map: map (Map), sat (Satellite), skl (Hybrid), pmap (Public Map).

Show road traffic: trf (\»traffic\» layer). You can enable the traffic layer only, or combine it with some map type. In this case, the parameter values are comma-separated. For example: l=map,trf .

Источник

Запуск Android‑приложения Яндекс.Карты

Информация, приведенная в этом разделе, актуальна для мобильного приложения Яндекс.Карты версии 4.0 и выше.

Мобильные Яндекс.Карты для платформы Android можно запустить из Java‑приложения и со страницы, отображаемой в браузере. Для запуска используется URL-схема yandexmaps . При запуске приложение Яндекс.Карты может выполнить следующие действия.

В разделе Поддержка схемы geo приведена информация о том, как открыть карту, используя другую URI-схему. При таком способе запуска у пользователя будет возможность выбрать, какое приложение открыть.

Открыть карту

Показать карту можно с помощью URL вида:

Координаты центра карты (долгота, широта).

Масштаб карты. Задается целым числом от 1 до 18, где 1 — наименее подробный масштаб (весь мир), а 18 — наиболее подробный из возможных.

Область показа. Через запятую указывается размер области по долготе и широте (в градусах). Например, чтобы задать область показа шириной 10,5 градусов, нужно указать: spn=10.5,10.5 .

Центр области показа задается с помощью параметра ll (центр карты).

Если уже задан параметр z (масштаб), то spn игнорируется.

Тип карты и информация о пробках.

Тип карты: map (схема), sat (спутник), skl (гибрид), pmap (народная карта).

Показать загруженность магистралей: trf (слой «пробки»). Можно указать только слой пробок или комбинировать этот слой и тип карты. В этом случае значения параметра указываются через запятую. Например: l=map,trf .

Координаты центра карты (долгота, широта).

Масштаб карты. Задается целым числом от 1 до 18, где 1 — наименее подробный масштаб (весь мир), а 18 — наиболее подробный из возможных.

Область показа. Через запятую указывается размер области по долготе и широте (в градусах). Например, чтобы задать область показа шириной 10,5 градусов, нужно указать: spn=10.5,10.5 .

Центр области показа задается с помощью параметра ll (центр карты).

Если уже задан параметр z (масштаб), то spn игнорируется.

Тип карты и информация о пробках.

Тип карты: map (схема), sat (спутник), skl (гибрид), pmap (народная карта).

Показать загруженность магистралей: trf (слой «пробки»). Можно указать только слой пробок или комбинировать этот слой и тип карты. В этом случае значения параметра указываются через запятую. Например: l=map,trf .

Источник

Читайте также:  Контроль за автозапуском андроид
Оцените статью
Parameter Data type Description