我有一个问题,也许有人可以帮助我。
这是我的代码:当我试图计算距离时,我可以将我的函数用于我给它的正常变量: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>
答案 0 :(得分:2)
您正在访问矩阵中的无效元素:
parseFloat($m.rows[1][4])
您的矩阵是4x4,但您正在访问第二行中的第五个值。