日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

PHP實現的7組經緯度與距離的計算函數demo

瀏覽:253日期:2022-06-14 11:14:45
目錄一. 根據當前位置計算四周的經緯度二. 根據經緯度計算范圍三. 通過經緯度根據距離從近到遠排序四. 根據經緯度查詢地理位置五. 根據經緯度計算直線距離六. 根據經緯度和半徑計算出范圍七. 獲取兩個經緯度之間的距離一. 根據當前位置計算四周的經緯度/** 根據當前位置計算四周的經緯度 * @param $lng * @param $lat * @param float $distance * @return array */function returnSquarePoint($lng, $lat, $distance = 0.5){ $earthRadius = 6378138; $dlng = 2 * asin(sin($distance / (2 * $earthRadius)) / cos(deg2rad($lat))); $dlng = rad2deg($dlng); $dlat = $distance / $earthRadius; $dlat = rad2deg($dlat); return array('left-top' => array('lat' => $lat + $dlat, 'lng' => $lng - $dlng),'right-top' => array('lat' => $lat + $dlat, 'lng' => $lng + $dlng),'left-bottom' => array('lat' => $lat - $dlat, 'lng' => $lng - $dlng),'right-bottom' => array('lat' => $lat - $dlat, 'lng' => $lng + $dlng) );}二. 根據經緯度計算范圍/** 根據經緯度計算范圍 * @param $lat1 * @param $lng1 * @param $lat2 * @param $lng2 * @return float */function getDistance($lat1, $lng1, $lat2, $lng2){ $earthRadius = 6378138; // 近似地球半徑米 // 轉換為弧度 $lat1 = ($lat1 * pi()) / 180; $lng1 = ($lng1 * pi()) / 180; $lat2 = ($lat2 * pi()) / 180; $lng2 = ($lng2 * pi()) / 180; // 使用半正矢公式 用尺規來計算 $calcLongitude = $lng2 - $lng1; $calcLatitude = $lat2 - $lat1; $stepOne = pow(sin($calcLatitude / 2), 2) + cos($lat1) * cos($lat2) * pow(sin($calcLongitude / 2), 2); $stepTwo = 2 * asin(min(1, sqrt($stepOne))); $calculatedDistance = $earthRadius * $stepTwo; return round($calculatedDistance);}三. 通過經緯度根據距離從近到遠排序/** 通過經緯度根據距離從近到遠排序 * @param $lat * @param $lng * @return mixed */function computePoint($lat, $lng){ $page = 1; $pageSize = 7; $EARTH = 6378.137; // 固定參數 地球半徑 $PI = 3.1415926535898; // 固定參數 圓周率 $list = db('work')->alias('wk')->field('wk.id,wk.work_name,wk.age,wk.teach,wk.gwbqid,wk.start_money,wk.work_description,wk.xz_id,wk.category,cp.company_id,cp.company_name,cp.la,cp.lo,(2 * $EARTH* ASIN(SQRT(POW(SIN($PI*(' . $lat . '-cp.la)/360),2)+COS($PI*' . $lat . '/180)* COS(cp.la * $PI/180)*POW(SIN($PI*(' . $lng . '-cp.lo)/360),2)))) as juli')->order('create_time desc,juli asc')->page($page, $pageSize)->select()->toArray(); return $list;}四. 根據經緯度查詢地理位置/** 根據經緯度查詢地理位置 * @param $lat * @param $lng */function myLocation($lat, $lng){ $url = 'http://api.map.baidu.com/geocoder/v2/?ak=YQH8OyfGcvOsPlHdnssSpkulaSNVgL0N&callback=renderReverse&location=$lat,$lng&output=json&pois=1'; $res = file_get_contents($url); $lres = ltrim($res, 'renderReverse && renderReverse('); $rres = rtrim($lres, ')'); echo $rres;}五. 根據經緯度計算直線距離/** * 根據經緯度計算直線距離 * @param $lat1 * @param $lng1 * @param $lat2 * @param $lng2 * @return float|int */function getDistances($lat1, $lng1, $lat2, $lng2){ define('PI', 3.1415926535898); define('EARTH_RADIUS', 6378.137); $radLat1 = $lat1 * (PI / 180); $radLat2 = $lat2 * (PI / 180); $a = $radLat1 - $radLat2; $b = ($lng1 * (PI / 180)) - ($lng2 * (PI / 180)); $s = 2 * asin(sqrt(pow(sin($a / 2), 2) + cos($radLat1) * cos($radLat2) * pow(sin($b / 2), 2))); $s = $s * EARTH_RADIUS; $s = round($s * 10000) / 10000; return $s * 1000;}六. 根據經緯度和半徑計算出范圍/** 根據經緯度和半徑計算出范圍 * @param string $lat 緯度 * @param String $lng 經度 * @param float $radius 半徑 * @return Array 范圍數組 */function calcScope($lat, $lng, $radius){ $degree = (24901 * 1609) / 360.0; $dpmLat = 1 / $degree; $radiusLat = $dpmLat * $radius; $minLat = $lat - $radiusLat; // 最小緯度 $maxLat = $lat + $radiusLat; // 最大緯度 $mpdLng = $degree * cos($lat * (3.141592 / 180)); $dpmLng = 1 / $mpdLng; $radiusLng = $dpmLng * $radius; $minLng = $lng - $radiusLng; // 最小經度 $maxLng = $lng + $radiusLng; // 最大經度 /** 返回范圍數組 */ $scope = array('minLat' => $minLat,'maxLat' => $maxLat,'minLng' => $minLng,'maxLng' => $maxLng ); return $scope;}七. 獲取兩個經緯度之間的距離/** 獲取兩個經緯度之間的距離 * @param string $lat1 緯一 * @param String $lng1 經一 * @param String $lat2 緯二 * @param String $lng2 經二 * @return float 返回兩點之間的距離 */function calcDistance($lat1, $lng1, $lat2, $lng2){ if (empty($lat1) || empty($lng1) || empty($lat2) || empty($lng2)) {return false; } /** 轉換數據類型為 double */ $lat1 = doubleval($lat1); $lng1 = doubleval($lng1); $lat2 = doubleval($lat2); $lng2 = doubleval($lng2); $theta = $lng1 - $lng2; $dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) + cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta)); $dist = acos($dist); $dist = rad2deg($dist); $miles = $dist * 60 * 1.1515; return ($miles * 1.609344);}

以上就是PHP實現的7組經緯度與距離的計算函數demo的詳細內容,更多關于PHP經緯度距離計算函數的資料請關注好吧啦網其它相關文章!

標簽: PHP
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲精品在线影院| 91视频精品| 性欧美69xoxoxoxo| 久久国产中文字幕| 日韩一区三区| 久久久夜精品| 欧美成人国产| 日韩视频在线一区二区三区| 亚洲欧洲一区二区天堂久久| 国产模特精品视频久久久久| 蜜桃视频在线观看一区二区| 在线精品一区二区| 日本一区二区三区中文字幕| 日韩一区网站| 亚洲精品乱码| 国产精品亚洲欧美一级在线| 国产精品调教视频| 精品一区二区三区亚洲| 激情综合五月| 精品亚洲美女网站| 伊人久久亚洲热| 午夜性色一区二区三区免费视频| 日韩精品社区| 国产中文字幕一区二区三区| 日韩和的一区二在线| 亚洲精品极品少妇16p| 亚洲综合激情在线| 国产精品第十页| 深夜视频一区二区| 亚洲欧美日本日韩| 日韩精品欧美精品| 成人在线观看免费视频| 久久中文字幕二区| 中文不卡在线| 另类欧美日韩国产在线| 91精品国产成人观看| 午夜在线观看免费一区| 奇米亚洲欧美| 麻豆mv在线观看| 欧美日韩日本国产亚洲在线| 日韩av不卡在线观看| 国产精品蜜芽在线观看| 不卡一区2区| 日韩av中文字幕一区二区 | 高潮一区二区| 一区二区小说| 日本少妇精品亚洲第一区| 国产一区二区三区天码| 91精品成人| 久久国产婷婷国产香蕉| 97精品中文字幕| 视频精品一区二区| 欧美激情网址| 亚洲国产不卡| 国产精品videosex极品| 五月天久久777| 国产精品男女| 国产精品99一区二区| 欧美永久精品| 亚洲欧美日韩高清在线| 久久av影院| 国产精品毛片| 精品三级在线| 亚州欧美在线| 国产一区二区三区自拍| 久久的色偷偷| 丝袜a∨在线一区二区三区不卡| 国产精品一区亚洲| 99re国产精品| 福利视频一区| 视频一区日韩精品| 久久国产毛片| 久久精品xxxxx| 亚洲精品小说| 日本а中文在线天堂| 日本久久一区| 国产一级一区二区| 久久狠狠婷婷| 美女视频免费精品| 亚洲精品影视| 九九在线精品| 日韩欧美一区二区三区在线视频| 国产精品一区二区三区美女| 蜜桃一区二区三区在线| 在线日韩视频| 福利在线免费视频| 国产精品色婷婷在线观看| 国产亚洲在线| 999国产精品视频| 国产一区2区| 国产精品久久久久久久免费软件| 综合激情网站| 亚洲免费播放| 久久亚洲国产| 色综合五月天| 精品国产亚洲一区二区在线观看| 国产午夜久久av| 一区二区三区网站| 精品一区免费| 日韩精品水蜜桃| 国产精品13p| 久久三级中文| 国产精品主播| 欧美天堂在线| 日韩av中文在线观看| 亚洲精选91| 视频一区中文字幕国产| 午夜精品一区二区三区国产| 亚洲www啪成人一区二区| 精品一区91| 国产精品magnet| 国产日韩欧美一区| 久久国产日韩欧美精品| 91av一区| 日韩动漫一区| 欧美亚洲tv| 国产欧美日韩精品一区二区三区 | 亚洲综合不卡| 国产一区白浆| 日韩中文字幕av电影| 国产精品女主播一区二区三区| 免费精品国产的网站免费观看| 久久久精品久久久久久96| 日韩一区亚洲二区| 久久亚洲专区| 午夜免费一区| 久久成人亚洲| 亚洲精品在线国产| 奇米狠狠一区二区三区| 国产色噜噜噜91在线精品| 国产亚洲欧美日韩精品一区二区三区 | 韩国女主播一区二区三区| 嫩草伊人久久精品少妇av杨幂 | 福利在线免费视频| 欧美男人天堂| 午夜国产精品视频| 亚洲一区国产一区| 亚洲人www| 日韩成人午夜精品| 国产精品九九| 日本蜜桃在线观看视频| 蜜臀久久99精品久久一区二区 | 精品视频网站| 精品亚洲美女网站| 亚洲少妇一区| 午夜电影一区| 国产欧美日韩一区二区三区四区| 美女视频网站久久| 99精品国产一区二区三区| 婷婷中文字幕一区| 美女网站久久| 亚洲专区视频| 欧美成人aaa| 亚洲成人va| 国产亚洲在线观看| 欧美日韩99| 国产美女高潮在线| 天堂成人国产精品一区| 国产日韩三级| 999国产精品| 日韩高清在线不卡| 在线人成日本视频| 欧美中文日韩| 国产精品**亚洲精品| 成人免费电影网址| 一区二区电影在线观看| 国产精品久久| 亚洲精品在线观看91| 91成人福利| 久久国产精品成人免费观看的软件| 免费精品视频在线| 麻豆久久一区| 一区三区视频| 国产精品18| 99国产精品私拍| 欧美国产另类| 亚洲美洲欧洲综合国产一区| 国产麻豆一区二区三区 | а√天堂8资源在线| 日韩在线一区二区| 国产精品第十页| 亚洲激情婷婷| 麻豆精品视频在线观看| 欧美高清一区| 国产精品香蕉| 一区二区视频欧美| 精品视频国内| 亚洲精品亚洲人成在线观看| 日韩精品永久网址| 日韩一区二区三区在线看| 婷婷激情一区| 国产精品亚洲综合色区韩国| 亚洲在线国产日韩欧美| 成午夜精品一区二区三区软件| 亚洲精品大全| 亚洲www啪成人一区二区| 青青青国产精品| 99热免费精品| 日韩理论视频| 国产精品第一|