Sådan finder du steder i nærheden med MySQL
Her er SQL-sætningen, der finder de nærmeste 20 lokationer, der er inden for en radius af 25 miles til 37, -122 koordinaten. Den beregner afstanden baseret på den pågældende rækkes bredde/længdegrad og målbredde/længdegrad, og beder derefter kun om rækker, hvor afstandsværdien er mindre end 25, sorterer hele forespørgslen efter afstand og begrænser den til 20 resultater. For at søge efter kilometer i stedet for miles skal du erstatte 3959 med 6371.
Tabelstruktur:
id,name,address,lat,lng
BEMÆRK - Her breddegrad =37 &længdegrad =-122. Så du passerer bare din egen.
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 finde detaljer her .