Mysql
 sql >> Database >  >> RDS >> Mysql

Geocoder di Google Maps per trovare luoghi vicini dal database MySQL

ricerca del raggio:

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 è il raggio terrestre in miglia. Sostituisci questo valore con raggio in KM, o qualsiasi unità, per ottenere risultati sulla stessa unità.centerLat e centerLon sono il centro della ricerca (il tuo input), mentre lat e lon sono i campi nella tabella.