Эта (глупая) картинка подводит итог моей проблемы:
Они отображаются в векторном слое.
Ниже этих экранов находится строка строки, которую я отображаю один раз как есть (то есть как линия), и поверх нее я также отображаю ее, используя стиль, для которого определена функция geometry
. В этой функции я возвращаю ol.geom.MultiPoint
, содержащую координаты, где я хочу, чтобы экраны были добавлены вдоль линии.
Моя вышеприведенная демонстрация глупа, я знаю (т.е. в моем реальном случае использования зазор между щитами намного больше, поэтому я знаю, что у меня не будет никакого столкновения).
Дело в том, что я знаю, что обычно есть способ избежать такого поведения с помощью свойства zIndex
ol.style.Style
, то есть, если у каждого объекта есть свой собственный стиль, определяющий свой zIndex, то каждый щит + текст будет корректно отображаться с текстом под перекрывающимися щитами. Но это не может работать с методом geometry
, поскольку один и тот же стиль используется несколько раз для одной и той же функции, чтобы отобразить его несколько раз.
Как я уже сказал, так как я определю достаточно большой разрыв, чтобы избежать столкновений в любом случае, мне не нужно придумывать способ исправить эту проблему, но мне любопытно, если таковой существует, для моего будущего я и другие люди, которые хотели бы знать.