OpenLayers Многострочные линии рисования исчезают - PullRequest
0 голосов
/ 10 января 2019

Обычно код рисуется путем вычисления строки, которая будет происходить при каждом движении карты. Но линии, проведенные в определенной конвергенции, исчезают. В примере кода зеленая линия - это главная линия, и она не исчезает, но линии за ее пределами исчезают при увеличении. Вы можете попытаться приблизиться к строкам кода.

Пример кода следующий: JSFiddle

       var lineString = new ol.style.LineStrings({
            valLine:7,
            valDistance:150, 
            color: 'green',
            width: 4,
            widthLines:4,
            colorArray: ['blue', 'red', 'white', 'black', 'orange', 'blue', 'red', 'white', 'black', 'orange'],
            }

В чем может быть причина этого и как ее можно решить?

1 Ответ

0 голосов
/ 13 января 2019

Вы стилизуете центральную линию (реальный объект) как семь линий (не реальные объекты, просто геометрия, используемая для моделирования). Если реальный объект не находится в области, покрытой областью просмотра карты плюс renderBuffer слоя, он не будет стилизован (хотя он может оставаться видимым при панорамировании, потому что функция стиля не запускается повторно, если не изменяется разрешение). Чтобы исключить исчезновение линий стиля с высокими уровнями масштабирования, необходимо установить renderBuffer на слое на очень большое число, например

            var vectorLayer = new ol.layer.Vector({
                source: vectorSource,
                renderBuffer: 1e10,
                style:lineString
            });
...