当前位置: 首页 > 知识库问答 >
问题:

Jquery数据表可排序距离列

巫马修然
2023-03-14

所以我有jQuery数据表设置和运行良好。我的最终目标是允许用户使用谷歌位置自动完成,更新他们的位置,然后在刷新时将一个“可排序”的距离列添加到我的数据表表中。

计划是在google autocomplete的文本输入旁边有一个按钮,上面写着使用这个地址,一旦用户使用autocomplete搜索并找到一个地址,然后按下按钮,我想(可能)将它们发送到加载页面几秒钟,同时

1) 阅读文本字符串,将其格式化,以便与google地理编码api(又名)一起使用

澳大利亚维多利亚州克兰伯恩----

2) 将其插入地理编码请求

3) 从生成的json中提取lat和lon值,并将它们分配给VAR

现在是最难的部分,我想用一些php计算用户(lat,long)和DataTable表中的每个条目之间的距离,DataTable表使用外键填充了sql数据(所有sql行都有lat-lon数据)

然后我考虑将这些条目发送到xml,只是这次每个条目都会有一个额外的值“距离”。

使用一些巧妙的代码,这整件事不会花一秒钟的时间,新的DataTable表然后用xml填充,只是这次它包含了一个距离列,每行都有距离值,哪些粗将是可排序的,没有任何DataTable黑客攻击什么所以永远。

我是傻了,还是这是个好主意,有更简单的方法吗?

我真的想要一些答案谢谢。

共有2个答案

邵凯定
2023-03-14

我知道这是一个非常古老的问题,但我只是遇到了它,并希望建议使用Haversine公式来计算拉/长值之间的距离

我使用了这个实现,发现它非常有效

昌招
2023-03-14

这实际上可能很难(取决于你的数学专业知识),因为它需要使用球形几何。您可以考虑使用API:

https://developers.google.com/maps/documentation/distancematrix/

如果您想自己尝试这样做,您可能希望使用为此编写的类,例如:

http://www.phpclasses.org/browse/file/36294.html

第二种选择可能更好,因为谷歌对其API有限制。一旦有了计算距离的方法,查询数据库并创建XML就很简单了。我不知道为什么要使用XML而不是json,但是PHP函数json_encode()可能会使它更简单,并且DataTables支持它。

 类似资料:
  • 问题内容: 我有以下模型: 我应如何查询以距离排序(距离为无穷大)? 如果需要,可以在PosgreSQL,GeoDjango上工作。 问题答案: 首先,最好使一个点字段而不是使lat和lnt分开: 然后,你可以像这样过滤它:

  • 问题内容: 无法弄清楚如何对用户附近的 地址 进行自动 排序 。我不明白从哪里开始以及如何编写代码。 我的 firebase中 有地址。地址的类型为字符串(不是纬度/经度)。例: 我知道需要从firebase 使用 查询 ,但是如何使用 query ,我现在不明白。 这是我的代码: 如何使用 Firebase中的* 数据在用户附近自动 排序 地址? * 问题答案: 这是一个复杂的过程,需要多个步骤

  • 问题内容: 我知道之前曾有人问过这个问题,但是解决方案对我不起作用。我正在尝试将新的项目排序保存到数据库。 我已经大大简化了它,但这是它的基本思想。我有一个嵌入了可排序列表的表单。 我已经加载了JQuery和JQuery UI,以下代码启用了可排序列表功能,并将项目ID和新排序顺序发布到php脚本中。“ editor”变量是在加载时设置的公共变量,它工作正常。排序工作正常,但是重新排序列表时,发布

  • 我正在搜索半径3公里内的用户,基于用户的长/拉特。我正在比较auth long/lat和附近的用户long/lat。它返回具有距离的用户集合。 现在我很难按距离排序。 如果我添加orderBy('距离','desc')当然会导致一个错误,因为我的DB上没有距离列。 这是一种排序和分页的方法。

  • 我正在尝试按地理距离对具有嵌套地理点映射的索引进行排序。 这是我的简化映射: 这里,每个组织可以有几个地点点。 文档: 这是我的查询(PHP数组): 预期结果 : 我希望按geo_point排序资源(检查每个位置,然后检查某个位置是否靠近给定的纬度/经度)

  • 我开始在我的项目中使用primefaces,我马上就遇到了问题。我有一个列表,其中包含一些我用实体管理器从数据库中获取的东西,我在primefaces数据表的视图中显示了它。在我的后台bean中,我有:List getList(),在这里我使用实体管理器从数据库中检索记录,并立即返回。。 和myService: 我的豆子: 视图: 这种方式primefaces排序不起作用,我在堆栈上的某个地方读到