javascript - 是否可以从 GeoJson 中提取 openlayers javascript map 的样式信息?

标签 javascript openlayers geojson

我有一个结构如下的 geojson 文件:

{
"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
        ]
    }
}]

}

我可以在 openlayers map 中从此 geojson 创建矢量图层,但无法利用样式属性。我应该使用自定义样式函数来执行此操作吗?

最佳答案

是的,当然:

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/

关于javascript - 是否可以从 GeoJson 中提取 openlayers javascript map 的样式信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42376516/

相关文章:

javascript隐藏/取消隐藏,但希望箭头指向向下/向上隐藏/取消隐藏

Openlayers 6 功能级别的 z 索引

javascript - 将散列模式应用于 openlayers 中的多边形

c# - 创建 GeoJson c#

javascript - 如何根据对象过滤 GeoJson 中的对象?

javascript - TypeError : Post. create 不是 mongodb 的函数

javascript - 缩放后的绝对位置

javascript - jQueryUI Accordion 不工作

javascript - 在哪里添加可见性 : false in openlayers code?

java - 使用 Jackson 将 GeoJSON 数据反序列化为对象后,如何访问它