Компактный способ рисования маршрутов в вашем приложении для Android

Я счастлив поделиться DrawRoute, библиотекой для рисования маршрутов с открытым исходным кодом, которая будет использоваться с Google Maps API for Android.

Технологический стек: Kotlin, OkHttp, RxJava и AndroidX.

Перед тем, как погрузиться в

Библиотека использует Google Directions API для получения информации о маршруте при рисовании на карте. Это не бесплатно и требует, чтобы у вас был проект с включенным этим API, а также учетная запись для выставления счетов.

Смотрите как начать.

Новая библиотека Котлина

Эта библиотека полностью написана на Kotlin и включает в себя шаблонный код, участвующий в использовании Google Directions API, с использованием реактивного программирования для большего контроля и точности. Он также предоставляет функцию расширения, которую можно использовать в самом объекте Google Maps, когда карта будет готова.

Шаги интеграции

В вашем build.gradle файле (уровень проекта) добавьте следующее в блок allProjects:

allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
    }
}

Затем на вашем build.gradle (уровне приложения) добавьте следующее в блок зависимостей:

dependencies {
	implementation 'com.github.malikdawar:drawroute:1.1-rx'
}

После того, как вы успешно интегрировали Google Maps API и выполнили шаги интеграции, описанные выше, вы можете вызвать метод drawRouteOnMap, который будет рисовать маршрут на карте и возвращать его как Rx-Disposable, который следует использовать для удаления выполненных подписка.

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

Что такое подписка?

Подписка - это синхронный сетевой вызов API Google Directions:

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

Зачем это нужно?

Работа напрямую с Google Directions API потребует добавления значительной бизнес-логики для обработки запроса и ответа. Следовательно, вы можете использовать эту библиотеку, которая будет использовать свой собственный предварительно созданный API поверх, чтобы поддерживать окончательную и читаемую структуру кода.

Заключение

Я счастлив поделиться DrawRoute с сообществом. Репо содержит краткое руководство с полной документацией. Следите за новостями! Также приветствуются любые соответствующие предложения по усовершенствованию, о которых можно сообщить на GitHub.