我在我创建的地图上有一堆传单多边形.每个多边形代表不同的东西 根据用户所在的页面,弹出窗口中会显示一组特定信息.我需要找到一种方法,使"popup"气泡在它所代表的多边形的中心打开.
使用以下代码绘制每个多边形:
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);
Run Code Online (Sandbox Code Playgroud)
使用以下代码绘制弹出窗口:
var popup = L.popup({})
.setLatLng([73.64017, -100.32715])
.setContent(content).openOn(map);
var popup = L.popup();
Run Code Online (Sandbox Code Playgroud)
所以我需要找到一种方法.setLatLang来确定或给出多边形的中心.
我想出了3个可能有用的解决方案,不知道如何去做.
找到一种方法来使用多边形的坐标来确定弹出窗口打开的多边形的中心.
调用多边形的一个点,然后偏移弹出窗口的位置.
对每个多边形使用id,因此每个弹出窗口都知道可以打开的框区域(多边形).
有谁可以帮助我吗?