gpt4 book ai didi

javascript - 找到 Leaflet 多边形的中心?

转载 作者:IT王子 更新时间:2023-10-29 00:09:01 27 4
gpt4 key购买 nike

我创建的 map 上有一堆传单多边形。每个多边形代表不同的东西。根据用户所在的页面,弹出窗口中会显示一组特定的信息。我需要找到一种方法来使“弹出”气泡在它所代表的多边形的中心打开。

使用以下代码绘制每个多边形:

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 个可行的解决方案,但不知道如何去做。

  1. 找到一种方法来使用多边形的坐标来确定弹出窗口将打开的多边形的中心。

  2. 调用多边形的一点,然后偏移弹窗的位置。

  3. 为每个多边形使用一个 id,因此每个弹出窗口都知道它可以打开的框区域(多边形)。

有人可以帮帮我吗?

最佳答案

一段时间以来,Leaflet 内置了 getCenter()方法:

polygon.getBounds().getCenter();

关于javascript - 找到 Leaflet 多边形的中心?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22796520/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com