Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在传单中,如何计算距离单击标记最远的标记的距离?_Javascript_Leaflet - Fatal编程技术网

Javascript 在传单中,如何计算距离单击标记最远的标记的距离?

Javascript 在传单中,如何计算距离单击标记最远的标记的距离?,javascript,leaflet,Javascript,Leaflet,“我的地图”允许用户围绕单击的标记绘制圆圈。为了把它保持在最远的标记的范围内,我需要知道最远的标记在哪里。如何从单击的标记中找到最远的标记?但要使事情复杂化,我需要阅读最远的标记标题信息,以确保它是正确的标记类型。它将在标题中有一个特殊的3个字母的代码来测试它是否是正确的标记。我只能检查它是否在那里,而不是它所说的。最简单的答案是在开始时计算所有方向上的最远距离。为此,我首先通过计算以下值找到一个边界框: $minLat = $rowCorners[minLat]-0.25; $maxLat =

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

最简单的答案是在开始时计算所有方向上的最远距离。为此,我首先通过计算以下值找到一个边界框:

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

在这种情况下,我给自己一个小空间来工作,精确的距离并不是那么重要。通过使用这些信息,可以很容易地绘制用户所需的圆圈。

如果您需要保持界限,请使用
L.FeatureGroup
s、
getBounds()
fitbunds()
。如果需要搜索数据集中最远的点,请计算查询点的反模式,将数据集保存在r树中,然后执行k近邻搜索。@IvanSanchez好的,这给了我很多研究和学习的内容。