nita Posted January 6, 2013 Share Posted January 6, 2013 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; } [/background][/size][/font][/color] [color=#464646][font='Helvetica Neue', Helvetica, Arial, sans-serif][size=3][background=rgb(244, 244, 244)]echo " $lon1, $lat1<br> $lon2, $lat2<br>"; ////////// return good calculation echo distance(52.611644, -0.26304, 51.58734910, -0.30020239) . " miles<br>"; [/background][/size][/font][/color] [color=#464646][font='Helvetica Neue', Helvetica, Arial, sans-serif][size=3][background=rgb(244, 244, 244)]////////// 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! Quote Link to comment https://forums.phpfreaks.com/topic/272754-calculate-distance-with-variable-lat-and-lon-values/ Share on other sites More sharing options...
nita Posted January 6, 2013 Author Share Posted January 6, 2013 There was a problem in calling a distance() function. Function is defined as lat, lon, lat, lon, but i called it as lon, lat, lon, lat. Being blind. SOLVED. Quote Link to comment https://forums.phpfreaks.com/topic/272754-calculate-distance-with-variable-lat-and-lon-values/#findComment-1403577 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.