關於php依據使用者當前定位判斷距離最近的商家或者別的
先來一個算經緯度的網站,可以對比結果
https://www.hhlink.com/經緯度/
後臺PHP:
//$lon1 使用者當前經度 $lat1使用者當前緯度 $lon2資料庫經度的欄位名 $lat2資料庫緯度的欄位名
public function distance_sql($lon1='',$lat1='',$lon2='lon',$lat2='lng')
{
$PI = 3.1415926;
//這裡 /1000 可去可不去,看需要
$sql = "round(6378.138*2*asin(sqrt(pow(sin( ({$lat1}*$PI/180-{$lat2}*$PI/180)/2),2)+cos({$lat1}*$PI/180)*cos({$lat2}*$PI/180)* pow(sin( ({$lon1}*$PI/180-{$lon2}*$PI/180)/2),2)))*1000) /1000";
return $sql;
}
public function gwz()
{
$lon1=$this->request->post('lon');
$lat1=$this->request->post('lng');
$table=$this->request->post('table');//需要查詢的表
$sql = $this->distance_sql($lon1,$lat1);
$row = Db::query("select * ,".$sql."as distance from cd_".$table." HAVING distance <= '100000'");
return json($row);
}
根據對比經緯度網站結果,相差無幾,大致位置就行
網上例子太多了,都可以看到
相關文章
- 命令執行的判斷依據: ; , &&, ||
- 舒服的判斷當前應用是否處於前臺
- oracle判斷block corruption的依據是啥?OracleBloC
- php資料型別以及判斷isset或者empty使用PHP資料型別
- Python判斷當前使用者是否是rootPython
- 關於js的判斷JS
- 判斷當前使用者是否為系統管理員的例項
- android判斷當前系統的語言Android
- eMarketer:定位廣告的距離問題
- JavaScript判斷當前裝置和瀏覽器型別JavaScript瀏覽器型別
- 基於iPhone 上的運動協處理器M7判斷使用者當前的運動(姿態)型別iPhone型別
- 二叉樹:距離最近的共同祖先二叉樹
- Android判斷當前棧頂Activity的包名Android
- 判斷當前應用程式處於前臺還是後臺 ANDROIDAndroid
- Android 判斷當前的介面是否是桌面的方法Android
- jQuery獲取div距離視窗頂部或者父元素頂部的距離jQuery
- Android 判斷當前系統語言Android
- 記一次關於js陣列型別判斷及js型別判斷的細節探索JS陣列型別
- JS判斷當前裝置是 PC IOS AndriodJSiOS
- jQuery判斷當前元素是第幾個元素jQuery
- 原生JS獲取DOM 節點到瀏覽器頂部的距離或者左側的距離JS瀏覽器
- PHP判斷瀏覽器型別:PHP瀏覽器型別
- java 經緯度處理、計算兩地的距離、獲取當前一定距離以內的經緯度值Java
- 應用層和驅動如何判斷當前的啟動模式模式
- Android 用ping的方法判斷當前網路是否可用Android
- Python 判斷當前作業系統型別的模組Python作業系統型別
- 聊一下關於判斷資料型別資料型別
- javascript如何判斷當前瀏覽器是否支援cookieJavaScript瀏覽器Cookie
- 使用帶型別判斷的比較判斷型別
- Oracle檢視當前登陸使用者的許可權或者角色Oracle
- 【原】關於SQLServer死鎖的診斷和定位SQLServer
- vue重新整理當前頁面或者當前元件Vue元件
- 依據前後資料關聯關係,生成多行資料
- 關於BI前端展示工具選型的參考依據前端
- 介面應該返回統一格式,不能以文字作為呼叫方的判斷依據的,要以狀態碼作為依據
- Flutter 如何判斷 Widget 位於前臺Flutter
- 微信小程式結合騰訊地圖實現使用者商家距離計算微信小程式地圖
- 判斷Android 當前版本是否為debug版本Android