Estoy escribiendo un sitio que básicamente busca lugares dentro de un radio de 25 millas de latitud y longitud usando php y mysql.PHP MySql y geolocalización
Me pregunto cómo algo así podría funcionar?
Me gustaría pasar un lat y largo para el scrip y hacer que saque solo las ubicaciones que están dentro de las 25 millas de latitud y longitud desde mi base de datos de ubicaciones.
¿Cuál es la mejor manera de hacerlo?
EDIT: Encontré este código para calcular la distancia entre 2 puntos.
function distance($lat1, $lon1, $lat2, $lon2, $unit) {
$theta = $lon1 - $lon2;
$dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) + cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta));
$dist = acos($dist);
$dist = rad2deg($dist);
$miles = $dist * 60 * 1.1515;
$unit = strtoupper($unit);
if ($unit == "K") {
return ($miles * 1.609344);
} else if ($unit == "N") {
return ($miles * 0.8684);
} else {
return $miles;
}
}
Es allí una manera de hacer esto Calc en el MYSQL mirar hacia arriba así que sólo puedo volver si milla = < 25?
¿De dónde saca las otras ubicaciones? ¿Se almacenan todas las latitudes/longitudes de la ubicación deseada en una matriz o base de datos? – shamittomar
Edité la pregunta. Tendré ciertas ubicaciones en mi base de datos y veré si alguna de ellas está dentro de las 25 millas. Si no, ninguno es devuelto. – shaneburgess
algunos más información aquí: http://stackoverflow.com/questions/20865747/geolocation-mysql-query – miralong