Есть ли способ использовать Mapbox GL (спрашивая об JS и native) в автономном режиме? С MBTiles вы можете использовать либо файл MBTiles, либо извлекать растровые изображения. Мне интересно, есть ли что-то подобное, что позволит Mapbox GL загружать данные из локального источника, а не требовать подключения к серверам Mapbox. Не говоря о просто кешировании данных, когда пользователь находится в автономном режиме, но фактически делает карту, которая работает исключительно в автономном режиме все время. Спасибо.
Использование Mapbox GL Offline
Ответ 1
Образец MapBox GL JS offline (полностью размещенный на настраиваемом сервере, в данном случае gh-страницах GitHub) отображается по адресу:
http://klokantech.github.io/mapbox-gl-js-offline-example/
javascript, css, fonts и даже предварительно обработанные векторные фрагменты, распакованные из MBTiles, могут быть просто в каталоге, и вы получаете масштабируемую векторную карту.
Если вы хотите разместить MBTiles с векторными или растровыми фрагментами где-нибудь в Интернете бесплатно, возможно, проще всего: https://github.com/klokantech/tileserver-php/
Во время игры с векторными фрагментами я документировал большинство прецедентов в этих двух репозиториях:
Ответ 2
Пока нет, но это касается дорожной карты разработки для native, по крайней мере:
https://github.com/mapbox/mapbox-gl-native/issues/584
Это сложнее с JavaScript в браузере, но не на самом деле является основным вариантом использования, но может быть и возможно.
Ответ 3
Здесь вы можете найти пример проекта prepackaged/offline maps для iOS:
http://github.com/jaysquared/mapbox-gl-ios-offline-example
Я просто запускаю веб-сервер в приложении iOS и обслуживаю плитки. Работает для векторной и графической плитки.
Ответ 4
MBTiles могут отображаться в SDK Mapbox Maps iOS путем размещения веб-сервера в вашем приложении и указания карты на localhost
. Я разместил здесь свое решение:
https://gist.github.com/namannik/3b7c8b69c2d0768d0c2b48d2ed5ff71c
Разница между этим решением и сообщением, опубликованным на @jaysquared.com, заключается в том, что для этого решения не требуется style.json
.