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

Ricerca della posizione vicina su Google Maps, PHP e MySQL

Ok, iniziamo, usando la query qui sotto ottieni le fermate degli autobus più vicine in un certo raggio (miglia). La query restituirà ogni punto entro un raggio definito.

$lat = -31,52;
$lon = -68,52;

$multiplier = 112.12; // use 69.0467669 if you want miles
$distance = 10; // kilometers or miles if 69.0467669

$query = "SELECT *, (SQRT(POW((lat - $lat), 2) + POW((lng - $lng), 2)) * $multiplier) AS distance FROM routes WHERE POW((lat - $lat), 2) + POW((lng - $lng), 2) < POW(($distance / $multiplier), 2) ORDER BY distance ASC";

Risultato... il più vicino nel raggio di 10 miglia...

più lontano ma entro 10 miglia...

Ora ripeti lo stesso per destination , quindi cerca sul tuo tavolo gli autobus su quella rotta. Controlla anche questo link... http://dev.mysql.com/doc/refman/5.0/en/spatial-extensions.html