offline indexeddb leaflet offline-caching

¿Cómo hacer mapas offline(usando el folleto OSM), mediante el almacenamiento en caché?



indexeddb leaflet (3)

Estoy trabajando en una solución para el mismo problema. Almacenar mosaicos de un servidor de tiles y cargarlos desde la base de datos en leafletjs.

He implementado una capa personalizada que carga los mosaicos desde una base de datos (indexeddb / webdatabase) si está disponible, y los respalda a un servidor de mosaicos (que tiene un encabezado de Access-Control-Allow-Origin, consulte https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS#Access-Control-Allow-Credentials )

Implementé un control que guarda los mosaicos actualmente a la vista en indexeddb o webdatabase.

El código está en https://github.com/allartk/leaflet.offline Este es un trabajo en progreso en este momento!

Estoy tratando de hacer mapas sin conexión a través del almacenamiento en caché (IndexedDB) en el navegador. Entiendo que el concepto es que primero descargo y almaceno los mosaicos del mapa cuando estoy conectado a Internet.

Luego tengo que cargar los azulejos lógicamente offline.

Sin embargo, no soy capaz de resolverlo.

¿Cómo los almaceno y cómo los vuelvo a cargar lógicamente? Estoy atorado aqui. Estoy usando el leaflet API para los mapas. ¿Cómo se puede implementar esto?



Vea mi extensa investigación sobre esto en:

Almacenamiento de datos de imagen para aplicaciones web sin conexión (base de datos de almacenamiento del lado del cliente)

y en

https://gis.stackexchange.com/questions/44813/database-for-offline-slippy-map-tiles

La clave para lo que quieres hacer es una capa de mosaico funcional para obtener cosas de la base de datos:

https://github.com/ismyrnow/Leaflet.functionaltilelayer

Por cierto, acabo de probar PouchDB para esto, que es mucho más limpio que el IndexeDB en bruto.

Siga mis resultados en:

https://groups.google.com/forum/?fromgroups#!topic/pouchdb/RG6wUsAi2R0