Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Geocodificador do Google Maps para encontrar lugares próximos do banco de dados MySQL


pesquisa de raio:
select *,
    acos(cos(centerLat * (PI()/180)) *
     cos(centerLon * (PI()/180)) *
     cos(lat * (PI()/180)) *
     cos(lon * (PI()/180))
     +
     cos(centerLat * (PI()/180)) *
     sin(centerLon * (PI()/180)) *
     cos(lat * (PI()/180)) *
     sin(lon * (PI()/180))
     +
     sin(centerLat * (PI()/180)) *
     sin(lat * (PI()/180))
    ) * 3959 as Dist
from TABLE_NAME
having Dist < radius
order by Dist

3959 é o raio da Terra em milhas. Substitua esse valor pelo raio em KM ou qualquer unidade para obter resultados na mesma unidade.centerLat e centerLon são o centro da pesquisa (sua entrada), enquanto lat e lon são campos na tabela.