У меня есть функция многоугольника в OpenLayers 5. У нее есть некоторый случайный идентификатор, который мне нужно показать в центре многоугольника, немного выровненный по правому краю.
Я использовал стиль ol.style.Text()
для отображения идентификаторана полигоне.Я могу управлять выравниванием, используя параметры класса offsetX
и offsetY
, но как я могу отображать текст в HTML-элементах или имитировать его, потому что ol.style.Text()
принимает только текстовые данные.
Наложения в открытых слояхопределенно решит проблему, я смог получить среднюю точку многоугольника, используя getInteriorPoint()
по геометрии, но я не хочу использовать наложения, потому что на карте может быть много полигонов, и добавление наложения для каждого из них может ухудшить производительность и памятьИспользование.
Вот ожидаемый результат / я пытаюсь достичь:
Вот мой код:
Текущий код
Также проверьте, что я сделал, чтобы включить или выключить Id, и укажите, можно ли это улучшить.Идентификатор может быть включен и выключен в зависимости от уровня масштабирования.