根據經緯度座標計算距離sql語句
阿新 • • 發佈:2018-11-05
//根據經緯度計算附近商家距離 /* @param $lng,經度 * @param $lat,緯度 * @param $distance 計算的距離 * @param $sort 根據距離排序 */ function NearStore($lng,$lat,$distance,$sort){ $sql = "select *, sqrt( ( ((".$lng."-lng)*PI()*12656*cos(((".$lat."+lat)/2)*PI()/180)/180) * ((".$lng."-lng)*PI()*12656*cos (((".$lat."+lat)/2)*PI()/180)/180) ) + ( ((".$lat."-lat)*PI()*12656/180) * ((".$lat."- lat)*PI()*12656/180) ) )/2 as distancefrom 表名 group by distance $sort having distance <".$distance; $pdo->query($sql);}
1.在商家入駐填寫資料是,獲取商家經緯度,存入資料庫中
2.查詢時獲取使用者的地理位置座標,經緯度,傳入到上面函式中,距離可以自己定義,就可以獲取使用者當前地理位置附近的商家資訊了