Hitta platser i närheten med MySQL
Här är SQL-satsen som kommer att hitta de närmaste 20 platserna som ligger inom en radie av 25 miles till 37, -122-koordinaten. Den beräknar avståndet baserat på radens latitud/longitud och mållatitud/longitud, och ber sedan om endast rader där avståndsvärdet är mindre än 25, ordnar hela frågan efter avstånd och begränsar den till 20 resultat. För att söka efter kilometer istället för miles, ersätt 3959 med 6371.
Tabellstruktur :
id,name,address,lat,lng
OBS - Här latitud =37 &longitud =-122. Så du klarar bara ditt eget.
SELECT id, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) *
cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) *
sin( radians( lat ) ) ) ) AS distance FROM your_table_name HAVING
distance < 25 ORDER BY distance LIMIT 0 , 20;
Du kan hitta information här .