openlayers 之以 .geojson为后缀名的文件 数据源 加载图层

由于数据量较大,引用线上,速度较慢,改为下载线上资源到本地,使用本地资源(由于数据量过大,改为本地后却没任何区别)

      this.vectorSource = new VectorSource({
            url: obj.url,//url值为文件线上地址时 渲染没问题,换成该地址下载的.geojson文件引入放这里就不行了,import引入资源或者改为.json结尾也不行
            format: new GeoJSON()
          });

解决是改了.geojson文件为.json文件,这样引入

    this.vectorSource = new VectorSource({
           features : (new GeoJSON()).readFeatures(require("../json/"+obj.name+".json"))
          });

    var layer = new VectorLayer({
        layerName:obj.name,
        source: this.vectorSource,
        visible:true,        //setVisible(true/false)控制显示隐藏
        style:this.createStyle()
     });

或者

      const vectorSource = new VectorSource({
        features: new GeoJSON().readFeatures(data)
      })
      var layer = new VectorLayer({
        layerName: name,
        source: vectorSource,
        visible: false // setVisible(true/false)控制显示隐藏
      })
posted @ 2020-03-30 14:50  wwj007  阅读(813)  评论(2编辑  收藏  举报
……