所以我有 jQuery DataTables 设置并运行良好。 我的最终目标是允许用户使用 Google 地点自动完成功能,更新其位置,然后在刷新时将“可排序”距离列添加到我的 DataTables 表中。
计划是在谷歌自动完成的文本输入旁边有一个按钮,上面写着使用这个地址,一旦用户使用自动完成搜索并找到一个地址,然后按下按钮,我想(可能)发送他们到加载页面几秒钟,而我们
1)读取文本字符串,将其格式化以与谷歌地理编码API一起使用,又名
“澳大利亚维多利亚州克兰本” ---->“克兰本+维多利亚+澳大利亚”
2)将其插入地理编码请求
3)从结果json中提取纬度和经度值,并将它们分配给变量
现在是最困难的部分,我正在考虑使用一些 php 来计算用户之间的距离(纬度,经度),以及 DataTable 表中的每个条目,该表使用外键填充了 sql 数据(所有 sql 行都有经纬度数据)
然后我正在考虑将所述条目发送到 xml,只是这次每个条目都会有一个额外的值“DISTANCE”。
粗略地说,使用一些巧妙的代码,整个事情不会花费一秒钟,然后用 xml 填充新的 DataTable 表,只是这次它包含一个距离列,其中包含每行的距离值,粗略地说,该列是可排序的,没有任何数据表黑客什么的。
那么我是愚蠢的,还是这是一个好主意,有更简单的方法吗?
我真的很想得到一些答案,谢谢。
最佳答案
这实际上可能很困难(取决于您的数学专业知识),因为它需要使用球面几何。您可以考虑使用 API:
https://developers.google.com/maps/documentation/distancematrix/
如果您想尝试自己做,您可能需要使用为此编写的类,例如:
http://www.phpclasses.org/browse/file/36294.html
第二个选项可能更好,因为 Google 对其 API 有限制。一旦掌握了计算距离的方法,查询数据库和创建 XML 就变得很简单。我不知道为什么你想使用 XML 而不是 json,但是 PHP 函数 json_encode() 可能会让它更简单,而且 DataTables 支持它。
关于php - Jquery DataTables 可排序距离列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14341318/