Hi
I have a problem with implementing variables into a function that calculate distance between 2 latitudes, longitudes.
One of them is constant, and the second one being passed from the form.
Here is the code:
$lon1 = $_POST['lon1'];
$lat1 = $_POST['lat1'];
$lon2 = '-0.30020239';
$lat2 = '51.58734910';
function distance($lat11, $lon11, $lat22, $lon22) {
$theta = $lon11 - $lon22;
$dist = sin(deg2rad($lat11)) * sin(deg2rad($lat22)) + cos(deg2rad($lat11)) * cos(deg2rad($lat22)) * cos(deg2rad($theta));
$dist = acos($dist);
$dist = rad2deg($dist);
$miles = $dist * 60 * 1.1515;
return $miles;
}
echo "
$lon1, $lat1<br>
$lon2, $lat2<br>";
////////// return good calculation
echo distance(52.611644, -0.26304, 51.58734910, -0.30020239) . " miles<br>";
////////// my way - return wrong calculation
echo distance("$lon1", "$lat1", 51.58734910, -0.30020239) . " miles<br>";
As long as i have lat, lon values hardcoded is fine, but idea is to have this calculation done from variables.
Both will vary … tried different configurations … i’m losing it …
How should I code it ??
Thanks for your help in advance!