Предположим, у меня есть 3 местоположения, а именно Kallang (A), Paya Lebar (B) и Bedok (C). Я пытаюсь сделать A-> B + B-> C, но расстояние всегда возвращает A-> C. Почему это так?Вычислить расстояние для нескольких мест google map
Kallang к Paya Lebar (AB) -> +2,5914199062350742 км
пайа Lebar к Bedok (BC) -> +4,4403012109180775 км
всего (ABC) -> 7,03 км
Kallang в Bedok (AC) -> 6,88 км
ниже мои коды:
var R = 6371;
var dLat = toRad(location3.lat()-location2.lat()) + toRad(location2.lat()-location1.lat());
var dLon = toRad(location3.lng()-location2.lng()) + toRad(location2.lng()-location1.lng());
var dLat1 = toRad(location1.lat());
var dLat2 = toRad(location2.lat());
var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(dLat1) * Math.cos(dLat1) *
Math.sin(dLon/2) * Math.sin(dLon/2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
var d = R * c;
document.getElementById("distance_direct").innerHTML = "<br/><br/><br/>The distance between the five points (in a straight line) is: "+d +" km.";
}
function toRad(deg)
{
return deg * Math.PI/180;
}
Это что-то не так с моим добавлением и вычитанием оператора расчета ??? Спасибо
Благодаря вашей помощи было отлично .. Управляй, чтобы это сделать ... Большое спасибо: D – SupaFlybaba