2017-08-26 4 views
1

休憩サービスを利用する1ページのアプリケーションがシンガポールに読み込まれ、アプリケーションが使用するREST /エッジサービスをホストする場所が2つあります(ニューヨークとシンガポールの2つです)。誰でも、最も近いデータセンターを選択できるようにするJavaScriptフレームワークを知っています(この場合はシンガポールでしょう)。Geolocationを使用したRESTサーバーの選択

答えて

2
  1. アプリケーションのオンロードは、http rest callでデータセンターを取得します。
  2. はヴァジオロケーションや他のプラグインのデータセンターおよびデバイスの現在の場所のすべてのリストの間でご使用のデバイス自体に距離を計算する
  3. 使用このアルゴリズムにより、経度の位置緯度現在のデバイスを取得し、その後、距離を比較リストと最短

    を選びます
    function getDistanceFromLatLonInKm(lat1,lon1,lat2,lon2) { 
        var R = 6371; // Radius of the earth in km 
        var dLat = deg2rad(lat2-lat1); // deg2rad below 
        var dLon = deg2rad(lon2-lon1); 
        var a = Math.sin(dLat/2) * Math.sin(dLat/2) + Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) * Math.sin(dLon/2) * Math.sin(dLon/2); 
        var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 
        var d = R * c; // Distance in km 
        return d; 
    } 
    
    function deg2rad(deg) { 
        return deg * (Math.PI/180) 
    } 
    
+0

私はこの答えを愛して - 私の子供が今まで三角法のものが何のためにあるのか私に言わせれば - これは完璧な例です。 – Ole

+0

すごくおかげだよ:) –

関連する問題