- Интеграция карт в ваше Android-приложение
- Yandex
- Определение собственной позиции
- Yandex maps android source
- Latest commit
- Git stats
- Files
- README.md
- Launch Yandex.Maps Android app
- Open map
- Запуск Android‑приложения Яндекс.Карты
- Открыть карту
- Путь с указателями направления на карте с использованием Yandex Map Kit для Android
- 1. Встраивание библиотеки в проект (Eclipse, Windows)
- 2. Создание расширения для класса Overlay с целью вывода на карту пути с указателями направления и обработки событий «onClick» по карте
Интеграция карт в ваше Android-приложение
Есть много разных идей, для реализации которых могут понадобиться карты на мобильных устройствах.
Возможности таких устройств позволяют довольно оперативно получать информацию о местоположении, графические данные и графические преобразования для отображения объёма ландшафта.
В данном статье я расскажу как интегрировать возможность просмотра карт для мобильных устройств на основе Android, на примере Yandex Карт и Google Maps.
Функционал библиотек этих компаний позволяет:
- Перемещать карту
- Изменять масштаб
- Изменять виды карт
- Получать события от карты
Начнём с отечественного производителя.
Yandex
Библиотеку Yandex MapKit можно скачать с GitHub’а, там же есть версия и для iOS.
Но прежде чем начать использовать, нам надо получить API-key, для этого идём на почту и пишем письмо в support@mobmaps.yandex.ru, указав в заголовке «Map Kit запрос API-ключа». В ответ вам пришлют письмо с указанием дополнительных ссылок на документацию, на правила использования и собственно с самим ключом в теле письма (а могут и не прислать, кстати).
Пока ждём письмо, берём библиотеку и прикрепляем её к проекту.
После долгого ожидания с кружкой кофе, знакомимся с содержимым письма и информации по ссылкам, берём ключик и пишем в вашем layout’е приложения следующий код:
где заместо «you are key» вставляем полученный ключ. Всё, карта есть.
Далее код показывает, как перемещать карту на заданную координату и использовать зум:
Для использования 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 весьма схож:
Как можно видеть, процесс интеграции карт в приложения довольно простой, а спектр использования довольно широк.
Более подробно можно ознакомиться ниже.
Определение собственной позиции
Чтобы немного расширить пример, приложу кусок кода:
Но для использования этого кода, в манифесте следует указать следующее разрешение:
Источник
Yandex maps android source
Yandex Map Kit for Android
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
Эта версия больше не поддерживается, актуальную инфрмацию о новых версиях MapKit можно найти по ссылкам:
В этом репозитории находится тестовое приложение, демонстрирующее возможности Yandex Map Kit.
- Добавлено новое API уOverlayItem setOverlayItemListener #256
- Исправлена ошибка #253
- Исправлена ошибка #249
- Исправлена ошибка #240
- Исправлена ошибка #234
- Исправлена ошибка утечки #243
- Исправлена ошибка #240
- Добавили свойство в MapEvent isGesture() #237
- Исправлены ошибки при отображении карты
- Добавлен arm64-v8a и x86_64 архитектуры
- Исправлены ошибки отображения кнопок на карте
- Добавлен пример работы с запросом разрешений на получения геопозиции
- Исправлены ошибки, приводившие к падениям
- Удалены все запросы разрешений, кроме получения геопозиции
- Клонируйте репозиторий примера git clone https://github.com/yandexmobile/yandexmapkit-android.git
- В папке yandexmapkit-sample находится пример приложения который через gradle зависимость подключает мапкит
- Данные проекты уже настроены для работы в среде Eclipse
- Импортируйте данные проекты в среду Eclipse или Android Studio
- Выполняете Gradle Sync для проекта.
- Подставьте свой API ключ во все layout где используется объект MapView
- Всё готово к запуску тестового проекта
Запуск из командной строки.
Миграция с первой версии
- При создании OverlayItem необходимо в конструкторе вместо объекта Bitmap передавать Drawable, можно воспользоваться new BitmapDrawable(you_bitmap)
- При создании объекта BalloonItem необходимо в конструкторе передавать Context (необходимый для загрузки ресурсов)
- Исправить использования интерфейса с OnBallonListener на OnBalloonListener и добавить новые методы из данного интерфейса
- Исправить имя метода у BalloonItem с setOnBallonListener на setOnBalloonViewClickListener
- Необходимо изменить логику работы интерфейса OnBalloonListener метода onBallonClick на onBalloonViewClick
Интеграция с Яндекс.Картами
Документация по интеграции с мобильными Яндекс.Картами выложена на tech.yandex.ru
Также у этого проекта есть:
- Wiki, в которой содержится полезная информация о Yandex Map Kit.
- JavaDoc, который находится в yandexmapkit-library/doc. В нем содержится описание классов и методов Yandex Map Kit.
Если вы хотите сообщить об ошибке или предложить идею в развитии, то напишите об этом, пожалуйста, в Issues.
Источник
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:
Parameter | Data type | Description |
---|---|---|
Parameter | Data type | Description |
---|---|---|