gpt4 book ai didi

javascript - 按接近度对坐标(纬度和经度)结果进行排序

转载 作者:行者123 更新时间:2023-11-30 22:57:08 27 4
gpt4 key购买 nike

我有一个页面在 map (谷歌地图)中加载了很多标记。

单击标记时会打开具有“上一个”和“下一个”链接的信息窗口,用户可以使用这些链接来导航标记。现在我没有使用任何特定的顺序,当下一个/上一个标记太远时, map 会到处移动。

我想做的是以某种方式使用坐标,查询已经返回按邻近度排序的结果(纬度和经度的某种组合),这样当用户从一个位置移动时, map 移动“更少”标记到下一个。

我可能有也可能没有中心引用点来计算距离/距离。我需要一个吗?


编辑(更多信息):想象一下,我有一个查询,例如:

select id, name, lat, long from whatever;

我想要的是:

select id, name, somecalc(lat, long) as coord from whatever order by coord;

因此,当我在我的代码中处理此查询并生成标记时,每个“上一个”和“下一个”链接(我构建为一个链表)都会有尽可能接近它们的标记。我需要的是上面的somecalc

最佳答案

古老的毕达哥拉斯是您的好 friend :假设我们从坐标 (start_lat, start_long) 开始。例如,这可能是随机的第一个结果。如果您想按到该坐标的距离对结果进行排序,您只需

 SELECT 
id, Name,
SQRT(POW(start_lat - lat, 2) + POW(start_long - Long, 2)) AS distance
FROM
whatever
ORDER BY
distance

关于javascript - 按接近度对坐标(纬度和经度)结果进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25813346/

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