就像下面這張
但今天我不是要說Google Map API的使用,至於要怎麼使用就請參考
Google Maps JavaScript API 第 3 版
從上面那張圖的座標點都是從資料庫下來的,但是如果是只要在藍色範圍的座標,就可以參考下面SQL Query
$query = "SELECT ((ACOS(SIN($lat * PI() / 180) * SIN(gps_lat * PI() / 180) + COS($lat * PI() / 180) * COS(gps_lat * PI() / 180) * COS(($lon - gps_long) * PI() / 180)) * 180 / PI()) * 60 * 1.1515 * 1.609344) AS distance, gps_lat, gps_long FROM `mytable` HAVING distance<=$dist ORDER BY distance ASC"
找出你資料庫內有小於這個範圍的資料
這邊的 $lat, $lon為你所要設定的中點GPS(經瑋度),$dist為你所要找的範圍(單位:公里)
參考資料:
http://zcentric.com/2010/03/11/calculate-distance-in-mysql-with-latitude-and-longitude/
http://www.marketingtechblog.com/calculate-distance/
http://zh.scribd.com/doc/2569355/Geo-Distance-Search-with-MySQL
沒有留言:
張貼留言