Search the Community
Showing results for tags 'longitude'.
-
Hello guys I came acrross with some information to display my database results given latitude and longitude values and sort it by distance so far it works good but I was wondering how could i echo the actual distance between starting point and my results? my database is pretty straight forward: id, username, lat (latitude), lng (longitude) and a couple more things that will not be used right now.... the sql request code: $find = mysql_query("SELECT username, lat, lng, SQRT( POW(69.1 * (lat - '".$latitude."'), 2) + POW(69.1 * ('".$longitude."' - lng) * COS(lat / 57.3), 2)) AS distance FROM users WHERE username != '".$usern."' HAVING distance >= 0 ORDER BY distance ASC"); while($row = mysql_fetch_array($find)) { echo "<br />".$row['username']; } $latitude and $longitude is the current logged in member's location information so, I would like to know how to echo the actual distance in miles??? so i could do something like : echo $username."" is ".$distance." mile(s) from you..."; Thanks in advance!
-
I would like to calculate the total distance of driving beetween multiple locations (loop), including the distance (starting point (garage) - first location sarting point) and (last location finishig point - finishing point (garage)). Example: (Garage + D1) + (D1 + D2) + (D2 + E1) + (E1 + E2) + E2 + Garage) I'm having a problem with the correct looping. Here's my simplified code: <? $driver = 5; $result2 = mysql_query("SELECT * FROM test WHERE id='$driver' LIMIT 1") or die(mysql_error()); while($row2 = mysql_fetch_array( $result2 )) { $lon=$row2['lon']; $lat=$row2['lat']; echo "$lon, $lat"; } $result = mysql_query("SELECT * FROM test1 WHERE driver='$driver'") or die(mysql_error()); while($row = mysql_fetch_array( $result )) { $lon1=$row['lon1']; $lat1=$row['lat1']; $lon2=$row['lon2']; $lat2=$row['lat2']; ////////// distance between driver address and starting address $distancecalc = (3958*3.1415926*sqrt(($lat-$lat1)*($lat-$lat1) + cos($lat/57.29578)*cos($lat1/57.29578)*($lon-$lon1)*($lon-$lon1))/180); ////////// distance between statring address and finishing address - multiple adsresses $distancecalc1 = $distancecalc1 + (3958*3.1415926*sqrt(($lat2-$lat1)*($lat2-$lat1) + cos($lat2/57.29578)*cos($lat1/57.29578)*($lon2-$lon1)*($lon2-$lon1))/180); ////////// distance between finishing address and driver address $distancecalc2 = (3958*3.1415926*sqrt(($lat2-$lat)*($lat2-$lat) + cos($lat2/57.29578)*cos($lat/57.29578)*($lon2-$lon)*($lon2-$lon))/180); $distancetotal = $distancecalc + $distancecalc1 +$distancecalc2; echo "$distancecalc<br> $distancecalc1<br> $distancecalc2<br>"; } echo "$distancetotal"; ?> I'm aware that code posted above doesnt't do what it meant to .. i just want to keep it clear.. there is some things i tried but no correct resoults. I would appreciate some help on this one. Thank you very much.
- 13 replies
-
- calculation distance
- latitude
-
(and 1 more)
Tagged with:
-
Hi there ! What i'm traying to do is to get latitude and longitude form imputed postcodes. Which works fine as long as i stick to only one input (first or second seperate). I can't get it to work once i try with both of them. i'm using onchange event .. Please ake a look at the form: <form name="latlon" action="test2a.php" method='post' onchange="return usePointFromPostcode(document.getElementById('postcode').value) && usePointFromPostcode1(document.getElementById('postcode1').value) "> <input id="postcode" type="text" size="10" /><br> <input id="postcode1" type="text" size="10"/><br> Latitude:<input name="lat" type="text" id="lat" size="10"/><br /> Longitude:<input name="lon" type="text" id="lon" size="10"/><br><br> Latitude:<input name="lat1" type="text" id="lat1" size="10"/><br /> Longitude:<input name="lon1" type="text" id="lon1" size="10"/> <input type="submit" value="Get Lat / Lon"/> </form> and a Java Script used to get latitude and longitude: function usePointFromPostcode(postcode, callbackFunction) { localSearch.setSearchCompleteCallback(null, function() { if (localSearch.results[0]) { var resultLat = localSearch.results[0].lat; var resultLng = localSearch.results[0].lng; var point = new GLatLng(resultLat,resultLng); document.forms['latlon'].lat.value=resultLat; document.forms['latlon'].lon.value=resultLng; callbackFunction(point); }else{ alert("Postcode not found!"); } }); localSearch.execute(postcode + ", UK"); } function usePointFromPostcode1(postcode1, callbackFunction) { localSearch.setSearchCompleteCallback(null, function() { if (localSearch.results[0]) { var resultLat = localSearch.results[0].lat; var resultLng = localSearch.results[0].lng; var point = new GLatLng(resultLat,resultLng); document.forms['latlon'].lat1.value=resultLat; document.forms['latlon'].lon1.value=resultLng; callbackFunction(point); }else{ alert("Postcode not found!"); } }); localSearch.execute(postcode1 + ", UK"); } I'm totaly stuck here. What do i do wrong? Will appreciate any help and thank you in advance.