在 Leaflet 中,如何计算从单击标记到最远标记的距离?

In Leaflet how can I calculate the distance to the furthest marker from a clicked marker?

我的地图允许用户在单击的标记周围绘制圆圈。为了让它保持在最远标记的范围内,我需要知道最远标记在哪里。如何从单击的标记中找到最远的标记?但为了使事情复杂化,我需要阅读最远的标记标题信息以确保它是正确类型的标记。它会在标题中有一个特殊的 3 字母代码来测试它是否是要使用的正确标记。我只能检查它是否存在,而不是它所说的。

最简单的答案是在开始时计算所有方向上的最远距离。我首先通过计算找到一个边界框来做到这一点:

$minLat = $rowCorners[minLat]-0.25;
$maxLat = $rowCorners[maxLat]+0.25;
$minLng = $rowCorners[minLng]+0.25;
$maxLng = $rowCorners[maxLng]-0.25;

在这种情况下,我给了自己一点工作空间,确切的距离并不是那么重要。通过使用该信息,可以轻松绘制用户所需的圆圈。