2016-06-24 13 views
1

Ich benutze openlayers3 und ich möchte meine Funktionen von feature.json bringen, es scheint, wenn meine Karte geladen ist, kann ich die Feature-Datei aus dem Netzwerk als xhr Anfrage bekommen, aber ich kann meine Polygone auf der Karte nicht sehen. Hier unten ist mein CodeWie benutzt man Features von Geojson in openlayers3?

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

Es gibt einen kleinen Unterschied zwischen einer JSON-Datei und einer GeoJSON-Datei. Ist Ihre 'feature.json' eine gültige GeoJSON-Datei? –

+0

Ich fand die Lösung, ich benutzte ältere Version von openlayers und jetzt anstelle von URL in Quelle verwenden, verwende ich Funktionen und es funktioniert !! –

Antwort

1

Ich war olderversion von Openlayers mit und jetzt anstelle der Verwendung von URL in Quelle, jetzt verwende ich Features und es funktioniert !! Siehe Code unten

$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(){})