OpenLayers применяют стиль только к части дороги - PullRequest
0 голосов
/ 31 января 2019

Я хочу сделать карту, которая представляет трафик для города.Таким образом, у меня есть некоторые показатели трафика, которые я хочу визуализировать на карте.Я хочу раскрасить каждую дорогу разными цветами в зависимости от ее текущего трафика.

Примерно так:

image

Я попытался найти учебник о том, как применить стиль ктолько часть дороги, но я не мог найти, как это сделать.

Большое спасибо, это очень поможет, спасибо !!

1 Ответ

0 голосов
/ 01 февраля 2019

Вы должны использовать функцию стиля для векторного слоя:

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
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...