将 geojson 层添加到 openlayers 3

Adding geojson layer to openlayers 3

我已经通过几个不同的例子来解决这个问题,但似乎没有任何效果。我正在尝试使用 GeoJSON 作为源在地图上简单地绘制一个点。这是我目前拥有的:

var staticGeo = new ol.source.GeoJSON(({
    object: {
        type: 'Feature Collection',
        crs: {
           type: 'name',
           properties: {name: 'EPSG:4326'}
        },
        features: [{
           type: 'Feature',
           geometry: {
               type: 'Point',
               coordinates: [0,0]
           }
        }]
     },
     projection: 'EPSG:3857'
   }));

   var vectorSource = new ol.source.Vector({
       source: staticGeo
   });

   var vectorLayer = new ol.layer.Vector({
       source: vectorSource,
       style: new ol.style.Style({
           fill: new ol.style.Fill({
                color: 'rgba(255,255,255,0.2)'
           }),
           stroke: new ol.style.Stroke({
                color: 'blue',
                width: 1
           })
        })
     })

     this.map.addLayer(vectorLayer);

this.map 指的是正在工作的 ol.Map 对象。总的来说似乎有很多代码来做一些看似微不足道的事情(也许我做错了什么?)。

OL 3.5.0 开始,您将像这样添加 geojson

var geojsonObject = {
    'type': 'FeatureCollection',
    'crs': {
        'type': 'name',
        'properties': {
            'name': 'EPSG:4326'
        }
    },
    'features': [
        {
            'type': 'Feature',
            'geometry': {
                'type': 'Point',
                'coordinates': [21.54967, 38.70250]
            }
        }
    ]
};
var features = new ol.format.GeoJSON().readFeatures(geojsonObject, {
    featureProjection: 'EPSG:3857'
});
var vectorSource = new ol.source.Vector({
  features: features
});

记下投影坐标。

http://jsfiddle.net/jonataswalker/w5uuxhov/