2017-02-21 77 views
1

У меня есть файл GeoJSON структурированный так:Можно ли извлечь информацию о стиле из GeoJson для карты JavaScript с открытыми слоями?

{ 
"type": "FeatureCollection", 
"features": [{ 
    "type": "Feature", 
    "properties": { 
     "marker-color": "#4620dd", 
     "marker-size": "medium", 
     "marker-symbol": "park", 
     "name": "State Park" 
    }, 
    "geometry": { 
     "type": "Point", 
     "coordinates": [-76.95266723632812, 
      39.07974903895123 
     ] 
    } 
}] 

}

Я могу создать векторный слой из этого GeoJSON в карте OpenLayers, но не в состоянии использовать свойство стиля. Должен ли я использовать функцию пользовательского стиля для этого?

+0

Да, вы должны использовать ol.style укладывать слой. – FatAl

ответ

0

Да, конечно:

var vectorLayer = new ol.layer.Vector({ 
    source: vectorSource, 
    style: function (feature, resolution) { 
    console.log(feature.getProperties()); // <== all geojson properties 
    return [new ol.style.Style({ 
     image: new ol.style.Circle({ 
     radius: 10, 
     fill: new ol.style.Fill({ color: feature.get('marker-color') }) 
     }) 
    })]; 
    } 
}); 

https://jsfiddle.net/jonataswalker/uvopawmg/