Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get Latitude and Longitude of all location that are within 10km radius of my current location through google map(using PHP)

i am new to Google map things. i have a table in which there are list of all the location( the location of super stores) with their Latitude and Longitude .

Now i want to know all possible location(may b Latitude and Longitude ) of these super stores that are within 10km radius of my current location.

I have no idea how i can do this using Google map (in php code). What Google map API should i used ? Any suggestion ,project code, information will be helpful for me

Thanks in Advance

like image 625
Ahsan aslam Avatar asked Oct 18 '12 07:10

Ahsan aslam


3 Answers

See Radius search with Google Maps and MySQL

like image 61
Saul Martínez Avatar answered Nov 11 '22 02:11

Saul Martínez


You can Use Following Query of Mysql to get all stores within specified miles

select * from stores where lat!='' and lng!='' and ( 3959 * acos( cos( radians(" . $centerpoints['lat'] . ") ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(" . $centerpoints['lng'] . ") ) + sin( radians(" . $centerpoints['lat'] . ") ) * sin( radians( lat ) ) ) ) < " . $distanceInMile
like image 10
Santosh Yadav Avatar answered Nov 11 '22 03:11

Santosh Yadav


https://developers.google.com/maps/articles/phpsqlsearch_v3 Have a look at above. Should give you a good idea.

To find locations in your markers table that are within a certain radius distance of a given latitude/longitude, you can use a SELECT statement based on the Haversine formula. The Haversine formula is used generally for computing great-circle distances between two pairs of coordinates on a sphere. An in-depth mathemetical explanation is given by Wikipedia and a good discussion of the formula as it relates to programming is on Movable Type's site.

Here's the SQL statement that will find the closest 20 locations that are within a radius of 25 miles to the 37, -122 coordinate. It calculates the distance based on the latitude/longitude of that row and the target latitude/longitude, and then asks for only rows where the distance value is less than 25, orders the whole query by distance, and limits it to 20 results. To search by kilometers instead of miles, replace 3959 with 6371.

like image 7
xelber Avatar answered Nov 11 '22 02:11

xelber