根据谷歌api计算的距离订购php / mysql结果

时间:2017-11-23 00:06:11

标签: javascript php mysql html5 google-api

这是我的第一个问题,英语不是我的主要语言,所以......如果我犯了任何语法错误,请抱歉!

我有一个非常简单的PHP脚本,可以回显Mysql数据库中<ul>个地址。

这是一个用其他软件的数据制作的数据库,所以我没有存储Lat / Lon。

我可以确定我使用Google API点击的地址与我当前位置的距离,并使用google.maps.Geocode将地址转换为坐标,然后使用google.maps.geometry.spherical.computeDistanceBetween(new google.maps.LatLng(lat,lon), new google.maps.LatLng(lat2,lon2)计算我们之间的距离,以米为单位收到结果。

但我如何根据距离对<ul>进行排序?用php + js可以吗?

我知道这可能是一件很简单的事情,但我只是网络开发的初学者,我还想不出来。 = /

1 个答案:

答案 0 :(得分:0)

这样您就可以对UL列表进行排序。

&#13;
&#13;
function sortUnorderedList(ul, sortDescending) {
  if (typeof ul == "string")
    ul = document.getElementById(ul);

  var lis = ul.getElementsByTagName("LI");
  var vals = [];

  for (var i = 0, l = lis.length; i < l; i++)
    vals.push(lis[i].innerHTML);

  vals.sort();

  if (sortDescending)
    vals.reverse();

  for (var i = 0, l = lis.length; i < l; i++)
    lis[i].innerHTML = vals[i];
}

var desc = false;
document.getElementById("test").onclick = function() {
  sortUnorderedList("list", desc);
  desc = !desc;
  return false;
}
&#13;
<input type="button" id="test" value="Sort List (click again to reverse)" />
<ul id="list">

  <li>658.7599605058606</li>
  <li>658.7599605058602</li>
  <li>658.7599605058607</li>
  <li>657.7599605058606</li>
  <li>659</li>
</ul>
&#13;
&#13;
&#13;