sql >> Databasteknik >  >> RDS >> Mysql

Nära platssökning på Google Maps, PHP och MySQL

Ok, låt oss komma igång, med hjälp av frågan nedan får du närmaste busshållplatser i en viss radie (miles). Frågan returnerar varje punkt inom definierad radie.

$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";

Resultat... närmast inom 10 mils radie...

längst bort men inom 10 mil...

Upprepa nu samma sak för destination , och sök sedan i tabellen efter bussar på den rutten. Kolla även in den här länken... http://dev.mysql.com/doc/refman/5.0/en/spatial-extensions.html



  1. Hur man får handledarens namn istället för UserID + INNER JOIN i MYSQL

  2. PHP:Hämta bild från MySQL med PDO

  3. Välja en fristående fulltextsökserver:Sphinx eller SOLR?

  4. INTE I urval med NULL-värden