Acest site are algoritmul de bază:
// in javascript, not hard to translate...
var y = Math.sin(dLon) * Math.cos(lat2);
var x = Math.cos(lat1)*Math.sin(lat2) -
Math.sin(lat1)*Math.cos(lat2)*Math.cos(dLon);
var brng = Math.atan2(y, x).toDeg();
UPDATED: Vezi aici pentru completă algorith Mapping Math și Javascript
Asta să-ți dau un număr între 0 și 360, atunci este doar o chestiune de a avea o căutare simplă:
var bearings = ["NE", "E", "SE", "S", "SW", "W", "NW", "N"];
var index = brng - 22.5;
if (index < 0)
index += 360;
index = parseInt(index / 45);
return(bearings[index]);
Este important de reținut faptul că , mai dvs. de fapt , se schimbă pe măsură ce mutați în jurul Pământului. Algoritmul de mai sus vă arată inițial care poartă, dar dacă călătoriți o distanță lungă, care poartă dumneavoastră să fie semnificativ diferite , atunci când ajunge la destinație (dacă sunteți doar o distanță scurtă călătorie [<câteva sute de kilometri] , atunci , probabil , a câștigat „t schimba suficient pentru a fi un motiv de îngrijorare).