将向量功能写入本地存储/ IndexedDB并进行检索

时间:2015-04-02 15:57:13

标签: local-storage indexeddb geojson web-sql openlayers-3

我目前正在尝试使用OpenLayers3创建一个路线规划应用程序,并且想知道是否有人有过做类似事情的经历? 我对此很新,但我到目前为止设法将我的几何图形保存在本地存储中作为geoJson;我似乎无法检索这个并在我的矢量图层上重绘它。 理想情况下,我更喜欢使用本地化的数据库解决方案,但我似乎无法找到任何引用此文档的文档。

1 个答案:

答案 0 :(得分:0)

正如我在评论中所说,感谢所有人的意见。解析并不是真正的问题,更多的是如何使用检索到的信息生成矢量图层。 我偶然发现了一篇文章,其中讨论了为检索到的数据创建Loader函数,这与从外部文件或Web服务加载相反。相关代码在下面复制。对我而言,PouchDB是最佳选择,感谢@Alex,因为我已经开始阅读它,这是我需要的所有确认。 ;)

// Load Route Function
$(document).ready(function() {
    if (localStorage.getItem('myFeatures') !== null) {
  var features = JSON.parse(localStorage.getItem('myFeatures'));
  console.log(features);

  var featureSource = new ol.source.ServerVector({
    format: new ol.format.GeoJSON(),
    loader: function(extent, resolution, projection) {
      loadFeatures();
    },
   strategy: function(extent, resolution) {
   // some code
    return [extent];
   },
   projection: "EPSG:25832"
});
}

var loadFeatures = function() {
  featureSource.addFeatures(featureSource.readFeatures(features));
};

var SmallworldLayer = new ol.layer.Vector({
   source: featureSource,
   style: defaultRoute
});
map.addLayer(SmallworldLayer);
});