私はKallang(A)、Paya Lebar(B)、Bedok(C)の3つの場所があるとします。私はA-> B + B-> Cをやろうとしますが、距離は常にA-> Cを返します。なぜこれはそうですか? > 4.4403012109180775キロ複数の場所の距離を計算するGoogleマップ
合計(ABC) - - ベドックする> 7.03キロ
カラン(
カランのPaya lebarに(AB) - (BC)をベドックする> 2.5914199062350742キロ
パヤのlebar 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;
}
計算文を追加したり引いたりするのに何か問題がありますか?ありがとう
からcomputeDistanceBetween方法で構築されたおかげであなたの助けを使用することができます優れていた..それをやって管理...多くのありがとう:D – SupaFlybaba