2016-10-27 7 views
1

openlayersマップにgeojsonファイルを表示しようとしています。 openlayersマップは既に動作していますが、geojsonファイルからその機能を表示する方法を理解することはできません。 The example on their websiteはあまり役に立ちません。単純にgeojsonオブジェクトが直接ファイルに書き込まれ、後でアクセスされるからです。私は別のgeojsonファイルからフィーチャーを取り出し、マップ上に表示したいと考えています。OpenlayersでGeoJSONを表示しようとしています3

これは私がこれまでの例から直接コピーしたものである。

var vectorSource = new ol.source.Vector({ 
    features: (new ol.format.GeoJSON()).readFeatures(geojsonObject) 
}); 

var vectorLayer = new ol.layer.Vector({ 
    source: vectorSource, 
    style: styleFunction 
}); 

var map = new ol.Map({ 
    layers: [ 
     new ol.layer.Tile({ 
      source: new ol.source.OSM() 
     }), 
     vectorLayer 
    ], 
    target: 'map', 
    controls: ol.control.defaults({ 
     attributionOptions: /** @type {olx.control.AttributionOptions} */ ({ 
      collapsible: false 
     }) 
    }), 
    view: new ol.View({ 
     center: [0, 0], 
     zoom: 2 
    }) 

})。

私が知る必要があるのは、ファイルが既に開いている変数geojsonObjectの代わりにファイルを開き、geojsonファイル(現在はURL ..\public\geojson\federal_ridings.geojsonにある)から機能を取得する方法です。

答えて

1

置き換える外部ファイルからにGeoJSON層を追加するには:

var vectorSource = new ol.source.Vector({ 
    features: (new ol.format.GeoJSON()).readFeatures(geojsonObject) 
}); 

var vectorSource = new ol.source.Vector({ 
    url: '..\public\geojson\federal_ridings.geojson', 
    format: new ol.format.GeoJSON() 
}); 

ol.format.GeoJSON documentation

とはfederal_ridings.geojsonvalid JSON file

であることを確認してください

Demo

関連する問題