jQuery addClass, removeClass, toggleClass
by Dörnesz Tamás
HTML
<form name="form">
<input type="text" name="lat1" value="47.2093071" placeholder="lat 1">
<input type="text" name="lon1" value="17.8464604" placeholder="lon 1">
<br>
<input type="text" name="lat2" value="47.2093071" placeholder="lat 2">
<input type="text" name="lon2" value="17.8463943" placeholder="lon 2">
<br>
<br>
<input type="text" name="tav" placeholder="meter">
<br>
<input type="button" value="gps > m" onClick="javascript:tv()">
<br>
<br>
<input type="text" name="tavx" placeholder="dx">
<br>
<input type="text" name="tavy" placeholder="dy">
<br>
<input type="button" value="táv > gps" onClick="javascript:tv2()">
<br>
</form>
JavaScript
var lat1, lon1, lat2, lon2;
function measure() {
var R = 6378.137; // Radius of earth in KM
var dLat = lat2 * Math.PI / 180 - lat1 * Math.PI / 180;
var dLon = lon2 * Math.PI / 180 - lon1 * Math.PI / 180;
var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
Math.cos(lat1 * Math.PI / 180) * Math.cos(lat2 * Math.PI / 180) *
Math.sin(dLon / 2) * Math.sin(dLon / 2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
var d = R * c;
return d * 1000; // meters
}
function tv() {
lat1 = Number(form.lat1.value);
lon1 = Number(form.lon1.value);
lat2 = Number(form.lat2.value);
lon2 = Number(form.lon2.value);
form.tav.value = measure();
}
function tv2() {
lat1 = Number(form.lat1.value);
lon1 = Number(form.lon1.value);
lat2 = lat1 + (180 / Math.PI) * (form.tavy.value / 6378137);
lon2 = lon1 + (180 / Math.PI) * (form.tavx.value / 6378137) / Math.cos(lat1);
form.lat2.value = lat2;
form.lon2.value = lon2;
}