OpenLayers仅将样式应用于道路的一部分

时间:2019-01-31 03:47:25

标签: styles visualization openlayers

我想制作一张代表城市交通的地图。因此,我想在地图上显示一些流量指标。我希望根据当前的路况为每条道路涂上不同的颜色。

类似的东西:

image

我试图找到有关如何仅将样式应用于部分道路的教程,但找不到如何做到这一点。

非常感谢,将对您有所帮助!

1 个答案:

答案 0 :(得分:1)

您应该使用矢量层的样式功能:

https://openlayers.org/en/v4.6.5/apidoc/ol.html#.StyleFunction

OL3的示例:

http://openlayersbook.github.io/ch11-creating-web-map-apps/example-02.html

详细说明以上示例

function flickrStyle(feature) {
    var style = null;
    if (feature.get("name")=="Küstenschwalbe") {
        style = new ol.style.Style({
        image: new ol.style.Circle({
          radius: 6,
          stroke: new ol.style.Stroke({
            color: 'white',
            width: 2
          }),
          fill: new ol.style.Fill({
            color: 'green'
          })
        })
        });
    }
    else {
        style = new ol.style.Style({
        image: new ol.style.Circle({
          radius: 6,
          stroke: new ol.style.Stroke({
            color: 'yellow',
            width: 2
          }),
          fill: new ol.style.Fill({
            color: 'red'
          })
        })
        });
    }
    return [style];
}

var flickrLayer = new ol.layer.Vector({
  source: flickrSource,
  style: flickrStyle
});