У меня есть куча листовых многоугольников на карте, которую я создал. Каждый многоугольник представляет собой нечто иное. Конкретный набор информации отображается во всплывающем меню в зависимости от страницы, на которой пользователь включен. Мне нужно найти способ сделать всплывающий пузырь открытым в центре многоугольника, который он представляет.
Каждый многоугольник рисуется с использованием следующего кода:
var L20 = [
[74.0995, -99.92615],
[74.14008, -99.4043],
[74.07691, -99.33838],
[74.03617, -99.86023]
];
var L19 = [
[74.02559, -99.84924],
[74.06636, -99.32739],
[74.0029, -99.26147],
[73.96197, -99.77783]
];
var L18 = [
[73.95142, -99.76684],
[73.99235, -99.25048],
[73.92889, -99.18456],
[73.8878, -99.69543]
];
var set1 = L.polygon([L20, L19, L18], {
color: "#fff",
weight: 1,
stroke: true,
opacity: 0.05,
fillColor: "#346B1F",
}).addTo(map);
Всплывающее окно рисуется с использованием следующего кода:
var popup = L.popup({})
.setLatLng([73.64017, -100.32715])
.setContent(content).openOn(map);
var popup = L.popup();
Итак, мне нужно найти способ для .setLatLang
определить или задать центр многоугольника.
Я придумал 3 решения, которые могут работать, а не уверен, как это сделать.
-
найти способ использования координат многоугольника для определения центра многоугольника, в котором всплывающее окно откроется.
-
вызовите одну точку многоугольника, затем смещайте положение всплывающего окна.
-
Используйте идентификатор для каждого многоугольника, поэтому каждому всплывающему окну известно, что область окна (многоугольник) может быть открыта.
Кто-нибудь может мне помочь?