Javascript矩阵和距离计算

时间:2012-08-11 06:40:00

标签: javascript matrix distance

我有一个问题,也许有人可以帮助我。 这是我的代码:当我试图计算距离时,我可以将我的函数用于我给它的正常变量: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>

1 个答案:

答案 0 :(得分:2)

您正在访问矩阵中的无效元素:

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

您的矩阵是4x4,但您正在访问第二行中的第五个值。