2013-01-15 57 views
1

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

计划是在google autocomplete的文本输入旁边有一个按钮,表示使用此地址,一旦用户使用自动完成搜索并找到地址,然后按下按钮,我想(可能)它们发送到加载网页几秒钟,而我们

1)阅读的文本字符串,格式,它与谷歌的地理编码API的使用,又名

“克兰本,维多利亚,澳大利亚” ----> “Cranbourne + Victoria + Australia”

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

3)从生成的JSON中提取的纬度和经度值,并将其分配给瓦尔

现在到了最困难的部分,我用一些PHP的思维,来计算用户(纬度,经度)之间的距离,并且DataTable表中的每个条目都使用外键填充了sql数据(所有sql行都有纬度数据)

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

对于一些聪明的代码来说粗糙,这件事不会花费一秒钟,然后新的DataTable表格被填充到xml中,只有这一次它包含一个距离列,每列有距离值,粗糙的可排序,没有任何DataTables黑客如此。

所以,我是愚蠢的,还是这是一个好主意,有没有更简单的方法?

我真的很喜欢这个谢谢你的答案。

回答

0

这实际上可能很困难(取决于您的数学专长),因为它需要使用球形几何体。如果你想尝试做自己

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

,你可能想使用该写的一类,如:您可以考虑使用一个API

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

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

0

我知道这是一个非常古老的问题,但我只是碰到它,并希望使用Haversine Formula计算经/纬度值

之间的距离,我用this实施建议,并发现它的工作很奇妙