2017-08-26 2 views
1

Supposons une application d'une seule page qui consomme des services de repos est chargé à Singapour et il y a deux emplacements possibles d'hébergement des services REST/bord que l'application consomme, un à New York et un à Singapour. Quelqu'un sait-il un framework javascript qui permettrait à l'application de sélectionner le centre de données le plus proche (dans ce cas, ce serait Singapour)?Sélection d'un serveur REST en utilisant Géolocalisation

Répondre

2
  1. La surcharge de l'application permet aux centres de données d'être transférés dans l'appel de repos http.
  2. Obtenez votre appareil actuel lat position LON par Cordova géolocalisation ou tout autre plug-in
  3. Utilisez cet algorithme pour calculer la distance dans votre appareil lui-même entre toute la liste des centres de données et dispositif emplacement actuel puis liste la distance et de choisir la plus courte

    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

J'aime cette réponse - si mes enfants me demandent jamais ce que les choses de la trigonométrie est pour - c'est l'exemple parfait. – Ole

+0

Super et merci mec :) –