Однако я не могу найти понятный и актуальный пример, показывающий, как загрузить файл MBTiles в качестве растрового или векторного источника в Kotlin.
Что у меня есть:
- Приложение Android с использованием MapLibre 11.x
- Файл MTBiles расположен в:
(или внешнее хранилище)Код: Выделить всё
assets/map.mbtiles - MBTiles содержит либо растровые фрагменты, либо векторные фрагменты (я не совсем уверен, какой формат ожидает MapLibre)
На данный момент я обнаружил, что MapLibre поддерживает автономные фрагменты источники, используя FileSource или собственный TileStore, но мне не удалось найти рабочий пример для MBTiles.
Я также пробовал что-то вроде этого:
Код: Выделить всё
val style = mapView.getMapboxMap().loadStyle(
Style.MAPBOX_STREETS
) {
it.addSource(
RasterSource.Builder("offline", "file:///android_asset/map.mbtiles")
.tileSize(256)
.build()
)
}
Я также проверил, нужен ли мне собственный экземпляр TileServerOptions или TileStore, но документация очень ограничена.
Чего я пытаюсь достичь:
Я просто хочу:
- Загрузить Файл .mbtiles (векторный или растровый)
- Отобразите его в MapLibre MapView
- Используйте карту на 100 % в автономном режиме
- Поддерживает ли MapLibre Android поддерживает загрузку MBTiles напрямую?
- Если да, существует ли рабочий пример (Kotlin) добавления растрового или векторного слоя MBTiles?
- Если нет, то какой подход рекомендуется использовать?
- Конвертировать MBTiles → PMTiles?
- Использовать собственный загрузчик плиток?
- Использовать другой SDK?
- Android Studio: Flamingo / Koala
- Kotlin
- Версия MapLibre: (при необходимости укажите)
Подробнее здесь: https://stackoverflow.com/questions/798 ... oid-kotlin
Мобильная версия