离线平铺的地图网络应用


23

我不确定是在此处还是在Stackoverflow上发布此消息,因为这有点交叉。让我试试看。

在提出的HTML5标准中,可以选择使用缓存清单将Web应用程序数据存储在本地缓存中。我希望将这种技术用于离线平铺的Web地图应用程序,并在此处根据标准安装的Geoserver 做了一个快速原型。

我只是撕开了从默认图层之一生成的OpenLayers客户端页面,并将<html>标签更改为

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

并创建了cache.manifest简单读取的文件

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

在我对此事的有限理解中,应该在本地缓存从该URL加载的所有内容:所有图块和OpenLayers JS。实际上,在Firefox中首次调用时,它的确要求我允许本地存储,但是当我单击“刷新”时(无论是联机还是脱机),页面嘶哑,说明未定义OpenLayers对象。看起来它尚未加载OpenLayers JS。

有人成功完成了基于OpenLayers的离线离线平铺Web地图应用程序的功能吗?或提示如何进一步调查?

Answers:


9

您可能对Stick and MapBox iPad 上的Maps项目感兴趣。(免责声明:设计了前者,涉及后者。但是,两者都是BSD许可的,而称为“ .mbtiles” 的底层图块格式是基于SQL的。)

棍子上的地图是离线OpenLayers地图。使用便携式数据库/服务器而不是客户端存储的主要原因是,使用浏览器作为大型数据存储尚不完善,并且填充和索引高速缓存可能会非常昂贵。


有趣的解决方案,不是我在想的,但看起来可行。将MapBox /地图加载到带有自定义图块图层的Stick上有多难?
mvexel

1
它相对简单:有一些工具-基于C的导入器(github.com/developmentseed/mb_tiles_importer),输出mbtile的gdal2tiles版本(github.com/developmentseed/gdal2mb)和即将推出的GUI工具。
tmcw 2011年

4

认为您需要在“本地主机”上创建自己的tilecache,请参阅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

注意:不得有空格


这很有用,但需要本地Web服务器,这可能并不总是可行的,例如,当您希望它在iPhone / iPad上运行时。总的来说,我希望在客户端上实现这一目标,而不需要精通HTML5 /缓存清单的网络浏览器。
mvexel


1
我已经在原始问题中链接到该页面。我知道这是要走的路,但是我试图找出它是否完全可行。
mvexel

3

关于此的文章似乎显示了一种复杂性:

请注意,清单文件的MIME类型是text / cache-manifest。

所有示例似乎都列出了要缓存的特定文件(但我可能需要进一步阅读)。


这是我不清楚的一件事:是需要将特定的具体URL列入白名单,还是可以使用URL前缀。我还无法测试。有谁吗?
mvexel 2010年

3

也许是另一种方法:Geopublisher http://www.geopublishing.org/可以发布地图供离线使用。Geopublisher是一个桌面软件,可让您将矢量和栅格数据连接在一起并创建数字地图。然后,您可以将此地图导出为独立的Java应用程序。它甚至会创建自动启动文件等,并且不需要在目标计算机上安装Java。

更新2018: Geopublisher不再积极开发。


注意:即使该网址是网站的英语版本,该目的地仍是德语。要修复此问题,请在左侧导航栏中找到[english]链接。
马特·威尔基
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.