如何使用openlayers在本地存储地图图块

时间:2015-10-26 13:03:57

标签: javascript openlayers-3

我刚从openlayers3示例中选择了一段代码,请参阅 HERE ,现在每次点击" geolocate me"按钮重新加载地图的图块,现在无论如何都要存储地图的图块? I.E.当我点击" geolocate me!"按钮第二次应该从用户浏览器本地加载,而不是从互联网上获取。

生成地图的代码如下:

var map = new ol.Map({
    layers: [
        new ol.layer.Tile({
            source: new ol.source.OSM()
        })
    ],
    target: 'map',
    controls: ol.control.defaults({
        attributionOptions: /** @type {olx.control.AttributionOptions} */ ({
            collapsible: false
        })
    }),
    view: view
});

我使用localstorage尝试了以下内容:

if(localStorage.layer) {
    localStorage.setItem('layer' , JSON.stringify(new ol.layer.Tile({ source: new ol.source.OSM()})  ));       console.log(localStorage.layer);
}

var map = new ol.Map({
    layers: localStorage.layer ? [JSON.parse(localStorage.getItem('layer'))] : [
        new ol.layer.Tile({
            source: new ol.source.OSM()
        })
    ],
    target: 'map',
    controls: ol.control.defaults({
        attributionOptions: * @type {olx.control.AttributionOptions}  ({
            collapsible: false
        })
    }),
    view: view
});

但这似乎无法奏效,我能做些什么才能让地图的图块存储在本地而不是通过互联网加载?

我见过使用DOJO库的一个例子是 HERE

0 个答案:

没有答案