OpenLayers 5: масштабирование ширины штриха? - PullRequest
0 голосов
/ 26 октября 2018

Можно ли сделать ширину мазка зависимой от уровня масштабирования?

По сути, я собираюсь использовать LineStrings / MultiLineStrings для выделения некоторых дорог, но я также хотел бы иметь возможность уменьшать масштаб изображения и не иметь большого беспорядка (будет около 8 довольно широких линий на каждом пути).

1 Ответ

0 голосов
/ 26 октября 2018

Вы можете использовать разрешение, которое передается в функцию стиля. Я использую этот код для отображения контуров, установки линий с кратностью 50 м и, когда разрешение превышает 2,5, обе ширины пропорционально уменьшаются.

style: function(feature, resolution) {
    return new ol.style.Style({
        stroke: new ol.style.Stroke({
            color: 'rgba(224,148,94,1)',
            width: (feature.getProperties().value % 50 == 0 ? 3.175 : 1.863) * Math.min(1, 2.5/resolution)
        })
    });
}
...