我刚从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 。