Как вычислить расстояние между двумя координатами широты и долготы

 

Если вы получили широту и долготу используя API google man -> navigator.geolocation.getCurrentPosition то с помощью математических формул можно вычислить расстояние между двумя точками по прямой (не по дорогам общего назначения):

 


 
 
var meters = computeDistance (pos.coords,prevCoords)*1000; // в переменной meters будет дистанция между текущими pos.coords и прошлыми prevCoords координатами в метрах
 
function computeDistance(startCoords, destCoords) {
    var startLatRads = degreesToRadians(startCoords.latitude);
    var startLongRads = degreesToRadians(startCoords.longitude);
    var destLatRads = degreesToRadians(destCoords.latitude);
    var destLongRads = degreesToRadians(destCoords.longitude);

    var Radius = 6371; // радиус планеты Земля в км
    var distance = Math.acos(Math.sin(startLatRads) * Math.sin(destLatRads) + 
                    Math.cos(startLatRads) * Math.cos(destLatRads) *
                    Math.cos(startLongRads - destLongRads)) * Radius;

    return distance;
}

function degreesToRadians(degrees) {
    radians = (degrees * Math.PI)/180;
    return radians;
}

 



Оставить свой ответ:

Имя:*
E-Mail:
Вопрос:
Skolko buдет пять пдюс сeмь?
Ответ:*
QQpedia21.ru - cамые интересные вопросы