2017-11-23 4 views
0

これは私の最初の質問です。英語は私の主要な言語ではありません。...文法の間違いをしてしまえば申し訳ありません!google apiの計算距離に基づいてphp/mysqlの結果を注文します

私は、<ul>のアドレスのMysqlデータベースからのエコーを行う非常に簡単なPHPスクリプトを持っています。

これは、別のソフトウェアのデータで作成されたデータベースなので、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で可能ですか?

これはおそらく簡単なことですが、私はウェブ開発の初心者ですが、これをまだ理解できませんでした。 =/

+0

あなたがデータベースに追加し、そうであるように([ジオ距離検索]あなたの場所をジオコードhttps://www.scribd.com/presentation/2569355/Geo-Distance-Search-with -MySQL) – charlietfl

+0

ここでソートするのはどういう意味ですか?あなたはULのascと距離でdescを並べ替えることを意味するのですか? – SamaBalaYam

+0

@AbidNawaz正確に –

答えて

0

この方法で、距離のULリストを並べ替えることができます。

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; 
 
}
<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>

+0

シンプルで私は自分自身でこれを理解することができませんでした...私はこれを行うには余りにも年を取っていると思う= /ありがとう!それは完璧に働いた! –

関連する問題