如何在openlayers3中使用Geojson的功能?

时间:2016-06-24 15:45:20

标签: openlayers-3 geojson

我正在使用openlayers3,我想从feature.json带来我的功能,似乎当我的地图被编码时,我可以从网络获取xhr请求的功能文件,但我无法在地图上看到我的多边形。以下是我的代码

function showMap() {
  var vector = new ol.layer.Vector({
    projection: 'EPSG:5650',
    source: new ol.source.Vector({
      format: new ol.format.GeoJSON(),
      projection: 'EPSG:5650',
      url: 'feature.json'
    })
  });
  var map = new ol.Map({
    target: 'tilemap',
    controls: ol.control.defaults({
      attributionOptions: /** @type {olx.control.AttributionOptions} */ ({
       collapsible: false
      })
    }),
    layers: [
      new ol.layer.Image({
        source: new ol.source.ImageWMS({
          url: 'http://www.geodaten-mv.de/dienste/adv_dop',
          crossOrigin: null,
          projection: 'EPSG:5650',
          params: {
            VERSION: '1.3.0',
            LAYERS: 'mv_dop',
            FORMAT: 'image/jpeg',
            CRS: 'EPSG:5650'
          }
        })
      }),vector
    ],
    view: new ol.View({
      projection: 'EPSG:5650',
      center: [33355494, 5983295],
      zoom: 10
    })
  });
  DisplayTilesServices.setMap(map);
}

1 个答案:

答案 0 :(得分:1)

我正在使用openversion的旧版本,现在而不是在源代码中使用url,现在我正在使用功能,它的工作原理!见下面的代码

 $http.get('feature.geojson').then(function(res){
    var format = new ol.format.GeoJSON();
    source=new ol.source.Vector({
      projection: 'EPSG:5650',
      features:format.readFeatures(res.data)
    });
    var vectorLayer = new ol.layer.Vector({
      source: source
    });
    map.addLayer(vectorLayer);
  },function(){})