Как сделать автономные карты (используя буклет OSM), путем кэширования?
Я пытаюсь сделать офлайн-карты через кеширование (IndexedDB) в браузере. Я понимаю, что концепция заключается в том, что я сначала загружаю и сохраняю фрагменты карты при подключении к Интернету.
Затем мне приходится загружать логически нелегальные фрагменты.
Однако я не могу понять это.
Как сохранить их и как их загрузить снова логически? Я застрял здесь. Я использую leaflet API
для карт. Как это можно реализовать?
Ответы
Ответ 1
См. мои обширные исследования по этому вопросу:
Сохранение данных изображения для автономного веб-приложения (база данных на клиентской стороне)
и at:
https://gis.stackexchange.com/questions/44813/database-for-offline-slippy-map-tiles
Ключ к тому, что вы хотите сделать, - это слой функциональной плитки, чтобы получить материал из БД:
https://github.com/ismyrnow/Leaflet.functionaltilelayer
Кстати, я сейчас тестирую PouchDB для этого, что намного чище, чем исходный IndexeDB.
Следуйте моим результатам по адресу:
https://groups.google.com/forum/?fromgroups#!topic/pouchdb/RG6wUsAi2R0
Ответ 2
У меня есть реализация примера кэша http://tbicr.github.com/OfflineMap/leaflet/index.html и код https://github.com/tbicr/OfflineMap/tree/master/leaflet_idb_sql_site.
Для хранения используется IndexedDB и WebSQL. Хранение было низким и не тестировалось.
Ответ 3
Я работаю над решением той же проблемы. Хранение плиток с сервера плитки и загрузка их из db в листах.
Я реализовал пользовательский уровень, который загружает плитки из базы данных db (indexeddb/webdatabase), если это доступно, и возвращается к серверу таймера (который имеет заголовок Access-Control-Allow-Origin, см. https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS#Access-Control-Allow-Credentials)
Я реализовал элемент управления, который сохраняет все имеющиеся в настоящее время фрагменты в indexeddb или webdatabase.
Код находится на https://github.com/allartk/leaflet.offline В настоящее время это продолжается!