0

誰かが私を助けてくれるかもしれない問題があります。これは私のコードです:距離を計算しようとしているとき、私が与えた通常の変数に関数を使用できます: document.write(getDistance(45,35,41,35)); しかし、マトリックスから呼び出したときに機能していません。何が問題なのか知っていますか? document.write(getDistance(parseFloat($m.rows[0][3]),parseFloat($m.rows[1][3]),parseFloat($m.rows[0][4]),parseFloat($m.rows[1][4])));

tnx

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
</head>
<script type="text/javascript">
function Matrix() {
    this.rows = new Array();
}
var $m = new Matrix();
$m.rows[0] = new Array(1, 10, 45,41 );
$m.rows[1] = new Array(2, 5, 35,35 );
$m.rows[2] = new Array(3, 8, 41,40 );


alert($m.rows[1][2]);

//Calculate the shortest distance based on lat and long
function getDistance(lat1, lat2, lon1, lon2){
    var R = 6371; //KM
    var d = Math.acos(Math.sin(lat1) * Math.sin(lat2) +
            Math.cos(lat1) * Math.cos(lat2) * Math.cos(lon2 - lon1)) * R
        return d    
};

document.write(getDistance(parseFloat($m.rows[0][3]),parseFloat($m.rows[1][3]),parseFloat($m.rows[0][4]),parseFloat($m.rows[1][4])));
document.write(getDistance(45,35,41,35));




    </SCRIPT>

</BODY>
</HTML>
4

1 に答える 1

2

マトリックス内の無効な要素にアクセスしています:

parseFloat($m.rows[1][4])

マトリックスは 4x4 ですが、2 行目の 5 番目の値にアクセスしています。

于 2012-08-11T06:45:02.867 に答える