我基本上是想找出罗盘的两点相距多少度。例如,如果一个人面向 270,而他们的指南针是 280,那么这 2 点之间有 10 度。我也想要一个负数,如果它在左边,在右边是正数,相对于第一个标题。
例如,当 to 标题为 350 和 020 时,就会出现问题。这两点相距 30 度,但结果为 -330。
下面是我的代码示例:
function ConvertToRadians(_var)
{
return _var * (Math.PI/180);
}
function ConvertToDegrees(_var)
{
return _var * (180/Math.PI);
}
function GetHeadingDiff(_Heading1, _Heading2)
{
return ConvertToDegrees((ConvertToRadians(_Heading2) - ConvertToRadians(_Heading1)));
}
$(document).ready(function (){
$('#process').click(function (e){
e.preventDefault();
var Hdg1 = parseFloat($('#heading1').val());
var Hdg2 = parseFloat($('#heading2').val());
$('#results').html(GetHeadingDiff(Hdg1,Hdg2));
});
});
<input id="heading1" type="text" />
<input id="heading2" type="text" />
<button id="process" type="button">Submit</button>
<div id="results">
</div>
我确定我缺少一些简单的数学函数,我似乎无法弄清楚。
这是一个 jsfiddle 链接http://jsfiddle.net/dTmPn/3/