很多具備線上和線下功能的APP都有附近功能, 這裡的附近就是APP使用人所在位置附近幾公里以內, 那麼我們怎麼用MySQL來完成附近檢索功能呢?
存儲商家經緯度數據
首先,
我們需要準備很多商家的資料,
尤其是商家的地理位置,
即經緯度,
然後將這些商家資料存儲在MySQL裡面,
對於經緯度數據,
我們可以使用MySQL的Point類型來完成資料的存儲,
這裡需要注意的是,
最好選用MySQL5.7,
能夠滿足INNODB存儲引擎支援Point資料建索引。
這裡有一個小插曲, 就是很多使用XAMPP的PHP程式師, 目前最新的XAMPP自帶的資料庫還不支援
怎麼查詢附近的資料
上面我們已經將商家的資料保存在MySQL資料庫裡面了,
接下來我們看看怎麼實現附近檢索,
相信很多程式師一定百度了很多次,
從各個網站得到了一個很複雜的計算公式,
雖然可以計算,
但是相信沒有太多的人使用,
好在MySQL5.7為我們引入了一個函數:ST_Distance_Sphere,
我們可以用這個來完成附近檢索的功能。
一些附加的功能
有了經緯度資訊,
我們還可以借助百度地圖或高德地圖等完成商家在地圖上的標注和展示。