私は基本的に、コンパスの 2 つのポイントが何度離れているかを見つけようとしています。たとえば、人が 270 度を向いていてコンパスが 280 度の場合、これらの 2 点の間には 10 度の角度があります。また、最初の見出しに対して、左にある場合は負の数、右にある場合は正の数が必要です。
たとえば、見出しが 350 と 020 の場合に問題が発生します。これらの 2 つの点は 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/