2011-08-01 56 views
1

我正在为iPad构建HTML5应用程序,它将包含基本上下文信息的地图。我需要某种方式来选择性地将地图缓存(即我要去一个我知道没有连通性的区域,因此我可以预先缓存那部分地图)。开放iPad离线缓存为iPad

备选地我可以从他们的的WebSQL库和在这种情况下,渲染矢量层我将如何转换映射到向量和显示在摇摄地图这些向量(即之间交换或添加太多载体层)

由于提前

回答

2

我知道有些人在2月份的OpenLayers Mobile Codesprint期间正在尝试本地存储支持。 Here is an example他们已经完成了。我建议您结账jgrocha's sandbox,并看看他们是否满足您的需求。

+0

感谢您的答复。在此之前,我看了jgrocha的例子和其他人的例子。我没有任何问题存储功能脱机,但我正在寻找的是如何存储地图瓷砖。 – TheGwa

1

看起来像touchMapLite有一些脱机缓存功能。我没有挖得太远了进去,看看有多好(或者)它的工作原理,但你可以在代码中看到,有我所使用的填充和检索缓存的地图图块

http://sourceforge.net/projects/touchmaplite/

+0

谢谢。这看起来很酷。我会进一步调查并回复你。 – TheGwa

0

的例子称为OffMaps的iPod touch应用程序。它可以直接缓存你在iPod上看到的所有内容,然后你可以稍后在没有wifi的情况下使用地图程序,而这些地图仍然存在。不知道他们是如何做到的,但它证明了它是可能的。

1

我使用cloudmade TMS层togeteher从沙箱的OpenLayers一些灵感做到了这一点。

总之,你已经设置的层为true的异步特性,并提供该层getURLasync方法。在这种方法中,您可以检查图层是否位于本地存储/ web数据库中,并从网络加载图块。

的getURLasync方法具有图像属性至极可以是用户将其转换为一个dataurl串,这是需要存储瓦片如果不在脱机缓存本。

你可以在这里找到一些示例代码: http://allartk.nl/content/html5-offline-mapping