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

encontrar registros com latitude e longitude


Você tem que usar algo assim para obter os resultados mais próximos de um determinado local
$query = sprintf(
         "SELECT foo,
                  6371 * ACOS( Cos(RADIANS(lat)) * COS(RADIANS(%f))
                      * COS(RADIANS(%f) - RADIANS(lng)) + SIN(RADIANS(lat))
                      * SIN(RADIANS(%f)) ) * 1000 AS distance
            FROM `%s`
        ORDER BY distance",
        $lat, $lag, $lng, $table
    );

Você tem que definir $lat , $lng e $table de acordo com a estrutura da sua tabela e talvez defina um limite para o resultado.

Você obtém uma explicação detalhada aqui Pesquisa de distância geográfica com MySQL .