De Perguntas frequentes do Google Code - Criando um Localizador de lojas com PHP, MySQL e Google Maps :
Aqui está a instrução SQL que encontrará os 20 locais mais próximos que estão dentro de um raio de 25 milhas da coordenada 37, -122. Ele calcula a distância com base na latitude/longitude dessa linha e na latitude/longitude de destino e, em seguida, solicita apenas as linhas em que o valor da distância é menor que 25, ordena toda a consulta por distância e a limita a 20 resultados. Para pesquisar por quilômetros em vez de milhas, substitua 3959 por 6371.
SELECT id, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) )
* cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * sin(radians(lat)) ) ) AS distance
FROM markers
HAVING distance < 25
ORDER BY distance
LIMIT 0 , 20;