Javascript 按邻近性对坐标(横向和纵向)的排序结果

Javascript 按邻近性对坐标(横向和纵向)的排序结果,javascript,mysql,sql,google-maps,google-maps-api-3,Javascript,Mysql,Sql,Google Maps,Google Maps Api 3,我有一个页面,在地图中加载了很多标记(谷歌地图) 单击时的标记将打开具有“上一个”和“下一个”链接的信息窗口,用户可以使用这些链接来导航标记。现在我没有使用任何特定的顺序,当下一个/上一个标记太远时,地图会到处移动 我想做的是以某种方式使用坐标,查询已经返回按接近度排序的结果(lat和long的某种组合),这样当用户从一个标记移动到下一个标记时,地图移动的“更少” 我可能有也可能没有一个中心参考点来计算距离。我需要一个吗 编辑(更多信息): 假设我有一个查询,例如: select id, na

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

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

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

我可能有也可能没有一个中心参考点来计算距离。我需要一个吗


编辑(更多信息): 假设我有一个查询,例如:

select id, name, lat, long from whatever;
我想要一些类似于:

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

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

好的老毕达哥拉斯是你在这里的朋友:让我们从合作开始(开始,开始)。例如,这可能是随机的第一个结果。如果你想按到那个坐标的距离对结果排序,你只需要

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

您现有的代码是什么样子的?您尝试了什么来实现这一点?有多少马克笔?它们会改变吗?您是否需要在每次启动时动态排序,或者您是否可以手动排序输入数据以满足您的条件?我将添加更多信息。恐怕无法实现这一点。