我知道这是一个重复的问题,但我不得不问,因为我的代码无效。我不知道为什么不。
我的代码:
<!DOCTYPE html>
<html>
<head>
<script>
function displayDistance()
{
var R = 6371; // km
var dLat = (23.87284-23.76119).toRad();
var dLon = (90.39603-90.43491).toRad();
var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(23.76119.toRad()) * Math.cos(23.87284.toRad()) *
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("demo").innerHTML=d;
}
</script>
</head>
<body>
<div id="demo"></div>
<button type="button" onclick="displayDistance()">Display Distance</button>
</body>
</html>
但是没有任何反应。 感谢
答案 0 :(得分:2)
toRad
不是原生的javascript函数。您必须在使用它之前声明它。
/** Converts numeric degrees to radians */
if (typeof(Number.prototype.toRad) === "undefined") {
Number.prototype.toRad = function() {
return this * Math.PI / 180;
}
}
此处的代码:toRad() Javascript function throwing error
您可以查看此jsfiddle:http://jsfiddle.net/ySsQ3/
顺便说一下,你真的应该把你的javascript代码放在body
的末尾(而不是head
)