Aplicación web de mapas en mosaico sin conexión

23

No estoy seguro de si publicar esto aquí o en Stackoverflow, ya que es una especie de cruce. Déjame intentarlo.

En el estándar de HTML5 propuesto, existe la opción de almacenar datos de aplicaciones web en un caché local usando un manifiesto de caché . Estoy buscando utilizar esta técnica para una aplicación de mapa web en mosaico sin conexión e hice un prototipo rápido aquí basado en Una instalación estándar de Geoserver.

Acabo de copiar la página del cliente OpenLayers que se genera desde una de las capas predeterminadas y cambié la etiqueta <html> a

<html xmlns="http://www.w3.org/1999/xhtml" manifest="cache.manifest">

Y creó el archivo cache.manifest que simplemente lee

CACHE MANIFEST
http://lima.schaaltreinen.nl:8080/

Lo que debería, en mi limitada comprensión de la materia, almacenar en caché localmente todo lo que se carga de esa URL: todos los mosaicos y OpenLayers JS. De hecho, tras la primera llamada a Firefox, me pide que permita el almacenamiento local, pero cuando hago clic en actualizar (ya sea en línea o fuera de línea), la página tiembla indicando que el objeto OpenLayers no está definido. Parece que no ha cargado OpenLayers JS.

¿Alguien realizó con éxito una aplicación de mapa web en mosaico basado en OpenLayers sin conexión? ¿O sugerencias sobre cómo seguir investigando esto?

    
pregunta mvexel 11.11.2010 - 11:50

4 respuestas

9

Es posible que te interesen los proyectos Maps on a Stick y MapBox iPad. (descargo de responsabilidad: diseñado el primero, involucrado en el segundo. Sin embargo, ambos tienen licencia BSD, y el formato de mosaico subyacente, denominado " .mbtiles ", está basado en SQL).

Maps on a Stick es un mapa de OpenLayers sin conexión. El principal razonamiento para utilizar una base de datos / servidor portátil en lugar del almacenamiento del lado del cliente es que el uso de navegadores como el almacenamiento de datos de gran tamaño no está del todo resuelto, y el hecho de poblar e indexar el caché puede ser costoso.

    
respondido por el tmcw 30.11.2010 - 18:31
4

Piensa que necesitarás crear tu propio tilecache en 'localhost', consulta enlace

Ejemplos

    Using vmap
    http://localhost:8081/vmap0/levelzero/0/0.png
    The tile near the middle of the tile set in the third zoom level of vmap0.
    http://localhost:8081/vmap0/leveltwo/3/4.png
    The tile near the middle of the tile set in the fifth zoom level of landsat2000.
    hhttp://localhost:8081/vmap0/landsat2000/1/8500/8500.png
Source:
    The tile at the origin of the tile set in the first zoom level of basemap.
    http://www.osgeo.org/services/basemap/L1/0/0.png

Nota: no debe tener espacios

    
respondido por el Mapperz 11.11.2010 - 18:59
3

Una complejidad que parece aparecer en artículos sobre esto es que:

  

Tenga en cuenta que el tipo MIME del archivo de manifiesto es texto / caché-manifiesto.

Y todos los ejemplos parecen listar archivos específicos para el caché (pero es posible que necesito leer más).

    
respondido por el Ian Turton 11.11.2010 - 20:52
3

Tal vez otro enfoque: el geopublicador enlace puede publicar sus mapas para uso sin conexión. Geopublisher es un software de escritorio que te permite conectar datos vectoriales y rasterizados y crear mapas digitales. Luego, puede exportar este mapa como una aplicación Java independiente. Incluso crea archivos de inicio automático, etc. y no requiere una instalación de Java en las computadoras seleccionadas.

ACTUALIZACIÓN 2018: el geopublicador ya no se desarrolla activamente.

    
respondido por el alfonx 15.11.2010 - 02:18

Lea otras preguntas en las etiquetas