Android
Maps SDK позволяет добавить карту в ваше Android приложение.
Подключение
Для подключения Maps SDK необходимо добавить в главный gradle
-файл проекта ссылку на maven репозиторий.
Пример кода gradle файла с ссылкой на maven
-репозиторий
allprojects {
repositories {
maven {
url 'https://maven.pkg.github.com/geors/maps-sdk-android'
credentials {
username = "your personal github account"
password = "yor personal token"
}
}
}
}
Также в gradle
-файле модуля, использующего SDK, необходимо прописать зависимость, как показано в примере.
Пример добавления зависимостей
implementation('ru.rustore.geo:mapkit:x.x.x')
Здесь: x.x.x
— версия SDK.
Рекомен дуется использовать самую свежую версию SDK. Релизные версии SDK имеют нумерацию 1.0.x. Последнюю версию SDK можно найти по адресу: https://github.com/geors/maps-sdk-android/packages/1735721.
Использование
Необходимо инициализировать глобальные настройки карты до использования других компонентов SDK. Лучший вариант — в наследнике класса Application
.
Пример объекта глобальных настроек
MapViewConfig(
val apiKey: String, // уникальный ключ для предоставления доступа к
работе с SDK
)
Установить его нужно следующим образом, как показано в примере.
Пример установки
MapGlobalConfig.setMapGlobalConfig(
MapViewConfig(
apiKey = apiKey
)
)
Пример объекта MapStartOptions
data class MapStartOptions(
val center: LatLon, // точка начального расположения карты (учитываются только lat, lon)
val zoomLevel: Float, // начальное значение уровня масштабирования (zoomLevel)
val style: MapStyle, // стиль карты, может быть выбран из соответствующего enum или использован свой
val compassLocationMode: CompassLocationMode, // настройка компаса, может быть выбран из соответствующего enum
val logoConfig: LogoConfig // конфигурация логотипа
)
Установить стартовые настройки нужно как показано в примере.
Пример установки
MapGlobalConfig.setMapStartOptions(MapStartOptions(...))
Пример объекта LogoConfig
data class LogoConfig(
val logoAlignment: Alignment, // выравнивание логотипа, может быть выбран из четырех возможных вариантов Alignment: BottomRight, BottomLeft, TopRight, TopLeft
val logoAdditionalPaddings: AdditionalPaddings // дополнительные паддинги, с помощью которого можно задать горизонтальные и вертикальные отступы
)
Для работы с SDK предусмотрен ряд классов, реализующих в той или иной форме View
:
MapView
— является основным п редставлением в SDK, которое отображает карту;ZoomView
— используется для отображения контролов + и -, которые можно использовать для приближения и отдаления карты;CurrentLocationView
— кнопка для фокусировки карты на текущей позиции пользователя и следования за его положением;CompassView
— компонент, отображающий направление физического устройства относительно севера.
Для отображения данных элементов управления необходимо разместить их в XML-файле разметки страницы.
Пример отображения карты
< FrameLayout
android:id = "@+id/mainLayout"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
...>
< ru.mail.maps.sdk.views.MapView
android:id = "@+id/mapView"
android:layout_width = "match_parent"
android:layout_height = "match_parent" />
</ FrameLayout >
Этого может быть достаточно для работы с картой, если остальные элементы управления не требуются. В противном случае необходимо разместить другие элементы управления в том же самом layout
, в котором находится карта. В примере выше это mainLayout
. Также необходимо прописать ссылку на карту для каждого из контролов.