У меня есть рабочий IOS прототип с использованием техники мозаичного кэширования IOS, как показано ниже (код Objective-C):кэширование плитки на форуме с помощью MapBox Android SDK
RMTileCache * tileCache = [[RMTileCache alloc] initWithExpiryPeriod:0];
[tileCache setBackgroundCacheDelegate:self];
RMMapboxSource * tileSource = [[RMMapboxSource alloc] initWithMapID:mapID];
[tileCache beginBackgroundCacheForTileSource:tileSource southWest:southWest northEast:northEasth minZoom:minZoom maxZoom:maxZoom];
что это в основном делает это загрузить карту, кэш плитки навсегда и позволяют приложению работать автономно в будущем. Поскольку мы проходим через официальный платный API, это, конечно, не нарушает никаких юридических ограничений.
Теперь я хотел бы добиться того же на Android. У меня есть SDK работает в Android Studio и рабочий проект с удаленной картой с помощью ID карты, в основном это (Android Eclipse, расположение XML):
<com.mapbox.mapboxsdk.views.MapView
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
mapid=“my_map_id" />
Это прекрасно работает, но решение должно быть полностью в автономном режиме один раз кеширование выполнено. Мой вопрос: есть ли Java-эквивалент исходного кода iOS выше в MapBox SDK? Я попытался посмотреть в API, но не смог найти надежную ссылку на систему кэширования плит. И после некоторого болезненного времени, пытаясь заставить его работать на основе имен методов и документации кода, я сдался.
Я использую последнее дистрибутив MapBox от GitHub вместе с последней версией Android Studio, все работает и работает нормально, но не удается найти код для этого. Мне не обязательно нужна ссылка на API, несколько строк кода, показывающих, как это будет сделано, будет достаточно.
Как использовать это с MapView? Проверяет ли он автономную версию автоматически? Или вам нужно указать в mapview, что вы хотите использовать автономную версию. – Aegis
Я только что обновил ответ с инструкциями о том, как его загрузить. Надеюсь это поможет! –
Я уже понял это из источника :) однако у меня есть небольшая проблема с загрузкой карты. Я думаю, что есть ошибка в SDK при преобразовании чисел lat/lng. Я опубликовал вопрос о github [isssue # 607] (https://github.com/mapbox/mapbox-android-sdk/issues/607) – Aegis