Веб-додаток офлайн-карта з плиткою


23

Я не впевнений, розміщувати це тут або на Stackoverflow, оскільки це свого роду кросовер. Дозвольте спробувати.

У запропонованому стандарті HTML5 є можливість зберігання даних веб-додатків у локальному кеші за допомогою маніфесту кешу . Я шукаю використовувати цю техніку для форуму черепичної додатки веб - карти і зробив швидкий прототип тут на основі стандартної установки Geoserver.

Я просто зірвав сторінку клієнта OpenLayers, що генерується з одного із шарів за замовчуванням, і змінив <html>тег на

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

І створив файл, cache.manifestякий просто читає

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

Що повинно, з мого обмеженого розуміння цього питання, локально кешувати все, що завантажується з цієї URL-адреси: всі плитки та JS OpenLayers. Насправді, після першого дзвінка в Firefox, він просить дозволити локальне зберігання, але коли я натискаю на оновлення - або в Інтернеті, або в автономному режимі - сторінка перекривляється, вказуючи, що об’єкт OpenLayers не визначений. Схоже, він не завантажив JS OpenLayers.

Хтось успішно зробив функціонуючу офлайн-додаток для веб-карт на основі OpenLayers? Або натяки, як далі це дослідити?

Відповіді:


9

Можливо, вам будуть цікаві проекти « Карти на iPad Stick» та «MapBox». (відмова від відповідальності: спроектовано перше, залучене до останнього. Однак, обидва мають ліцензію на BSD, а базовий формат плитки, який називається " .mbtiles", базується на SQL.)

Карти на палиці - це офлайн-карта OpenLayers. Основне міркування для роботи з портативною базою даних / сервером замість зберігання на стороні клієнта полягає в тому, що використання браузерів як великого сховища даних не зовсім відпрацьоване, а заповнення та індексація кешу може бути дорогим.


Цікаве рішення, не те, про що я думав, але це виглядає працездатним. Наскільки легко чи важко завантажувати MapBox / Maps на Stick за допомогою спеціальних шарів плитки?
mvexel

1
Це порівняно просто: є кілька інструментів - імпортер на базі С ( github.com/developmentseed/mb_tiles_importer ), версія gdal2tiles, яка видає mbtiles ( github.com/developmentseed/gdal2mb ), і майбутній інструмент GUI.
tmcw

4

Подумайте, вам потрібно буде створити власний кеш-пам'ять на "localhost", див. Http://code.google.com/p/cumberland/wiki/TilePyramiderAndOpenLayers

Приклади

    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

Примітка: не повинно бути пробілів


Це корисно, але потрібен локальний веб-сервер, який може бути не завжди можливим, наприклад, коли ви хочете, щоб він працював на iPhone / iPad. Взагалі, я хочу досягти цього без будь-яких вимог на стороні клієнта, окрім HTML5 / кеш-маніфестації.
mvexel


1
Я вже посилався на цю сторінку в оригінальному запитанні. Я знаю, що це шлях, але я намагаюся з’ясувати, чи це взагалі можливо.
mvexel

3

Одна складність, яка, здається, виявляється в статтях про це, полягає в тому, що:

Зауважте, що MIME-тип файлу маніфесту - це текст / кеш-маніфест.

І всі приклади, схоже, перераховують певні файли для кешування (але, можливо, мені потрібно буде прочитати далі).


Це одне, що мені не зрозуміло: чи вам потрібно додати до списку конкретні конкретні URL-адреси чи ви можете використовувати префікси URL-адрес. Я ще не зміг це перевірити. Хто має?
mvexel

3

Можливо, ще один підхід: Geopublisher http://www.geopublishing.org/ може публікувати ваші карти для офлайн-використання. Geopublisher - це програмне забезпечення для настільних ПК, яке дозволяє з'єднувати між собою векторні та растрові дані та створювати цифрові карти. Потім ви можете експортувати цю карту як окремий додаток Java. Він навіть створює файли автозапуску тощо і не потребує встановлення Java на цільових комп’ютерах.

ОНОВЛЕННЯ 2018: Geopublisher вже активно не розробляється.


Примітка. Місце призначення - німецькою мовою, хоча URL-адреса призначена для англомовної версії сайту. Щоб виправити, знайдіть посилання [english] у лівій колонці навігації.
matt wilkie
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.