成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

PHP實(shí)現(xiàn)的7組經(jīng)緯度與距離的計(jì)算函數(shù)demo

瀏覽:216日期:2022-06-14 11:14:45
目錄一. 根據(jù)當(dāng)前位置計(jì)算四周的經(jīng)緯度二. 根據(jù)經(jīng)緯度計(jì)算范圍三. 通過(guò)經(jīng)緯度根據(jù)距離從近到遠(yuǎn)排序四. 根據(jù)經(jīng)緯度查詢地理位置五. 根據(jù)經(jīng)緯度計(jì)算直線距離六. 根據(jù)經(jīng)緯度和半徑計(jì)算出范圍七. 獲取兩個(gè)經(jīng)緯度之間的距離一. 根據(jù)當(dāng)前位置計(jì)算四周的經(jīng)緯度/** 根據(jù)當(dāng)前位置計(jì)算四周的經(jīng)緯度 * @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) );}二. 根據(jù)經(jīng)緯度計(jì)算范圍/** 根據(jù)經(jīng)緯度計(jì)算范圍 * @param $lat1 * @param $lng1 * @param $lat2 * @param $lng2 * @return float */function getDistance($lat1, $lng1, $lat2, $lng2){ $earthRadius = 6378138; // 近似地球半徑米 // 轉(zhuǎn)換為弧度 $lat1 = ($lat1 * pi()) / 180; $lng1 = ($lng1 * pi()) / 180; $lat2 = ($lat2 * pi()) / 180; $lng2 = ($lng2 * pi()) / 180; // 使用半正矢公式 用尺規(guī)來(lái)計(jì)算 $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);}三. 通過(guò)經(jīng)緯度根據(jù)距離從近到遠(yuǎn)排序/** 通過(guò)經(jīng)緯度根據(jù)距離從近到遠(yuǎn)排序 * @param $lat * @param $lng * @return mixed */function computePoint($lat, $lng){ $page = 1; $pageSize = 7; $EARTH = 6378.137; // 固定參數(shù) 地球半徑 $PI = 3.1415926535898; // 固定參數(shù) 圓周率 $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;}四. 根據(jù)經(jīng)緯度查詢地理位置/** 根據(jù)經(jīng)緯度查詢地理位置 * @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;}五. 根據(jù)經(jīng)緯度計(jì)算直線距離/** * 根據(jù)經(jīng)緯度計(jì)算直線距離 * @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;}六. 根據(jù)經(jīng)緯度和半徑計(jì)算出范圍/** 根據(jù)經(jīng)緯度和半徑計(jì)算出范圍 * @param string $lat 緯度 * @param String $lng 經(jīng)度 * @param float $radius 半徑 * @return Array 范圍數(shù)組 */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; // 最小經(jīng)度 $maxLng = $lng + $radiusLng; // 最大經(jīng)度 /** 返回范圍數(shù)組 */ $scope = array('minLat' => $minLat,'maxLat' => $maxLat,'minLng' => $minLng,'maxLng' => $maxLng ); return $scope;}七. 獲取兩個(gè)經(jīng)緯度之間的距離/** 獲取兩個(gè)經(jīng)緯度之間的距離 * @param string $lat1 緯一 * @param String $lng1 經(jīng)一 * @param String $lat2 緯二 * @param String $lng2 經(jīng)二 * @return float 返回兩點(diǎn)之間的距離 */function calcDistance($lat1, $lng1, $lat2, $lng2){ if (empty($lat1) || empty($lng1) || empty($lat2) || empty($lng2)) {return false; } /** 轉(zhuǎn)換數(shù)據(jù)類型為 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實(shí)現(xiàn)的7組經(jīng)緯度與距離的計(jì)算函數(shù)demo的詳細(xì)內(nèi)容,更多關(guān)于PHP經(jīng)緯度距離計(jì)算函數(shù)的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: PHP
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
日韩高清一区二区| 91年精品国产| 日韩一区精品字幕| 99久久亚洲一区二区三区青草| 精久久久久久久久久久| 在线日韩av永久免费观看| 欧美一区二区三区爱爱| 天堂va蜜桃一区二区三区| 成人午夜电影小说| 日本精品视频一区二区三区| 久久影视一区二区| 亚洲福利一区二区| 欧美日韩国产探花| 日韩限制级电影在线观看| 亚洲va天堂va国产va久| 欧美日韩国产探花| 日韩欧美你懂的| 国产精品乱码一区二三区小蝌蚪| 国产真实精品久久二三区| 一本一本久久a久久精品综合麻豆| 亚洲三级电影网站| 狠狠久久婷婷| 国产日产精品一区| 白白色亚洲国产精品| 在线综合亚洲欧美在线视频| 日本不卡一区二区三区| 最新亚洲视频| 国产精品日韩精品欧美在线| 99精品偷自拍| 日韩免费视频一区| 国产成人综合视频| 欧美在线你懂得| 免费成人av在线播放| 久久国产主播| 亚洲第四色夜色| 久久激情久久| 五月婷婷久久综合| 久久久精品五月天| 丝袜亚洲另类丝袜在线| 久久成人亚洲| 中文一区在线播放| 夜夜爽夜夜爽精品视频| 国产综合网站| 日韩一区二区高清| 久久99精品一区二区三区| 久久久久久穴| 亚洲3atv精品一区二区三区| 亚洲欧洲一区| 亚洲三级在线免费| 亚洲欧洲日本国产| 亚洲日穴在线视频| 99日韩精品| 一区二区三区在线免费播放 | 久久久久久久免费视频了| 欧美人动与zoxxxx乱| 欧美视频福利| 久久网站最新地址| 暴力调教一区二区三区| 久久亚洲综合色| 99久久精品免费观看| 国产日韩欧美综合一区| 91丨九色丨尤物| 日本一区二区久久| 欧美视频日韩| 国产精品不卡一区二区三区| 亚洲国产激情| 亚洲第一成年网| 色系网站成人免费| 国产一区激情在线| 欧美肥大bbwbbw高潮| 亚洲国产综合色| 在线欧美小视频| 国产一区二区三区免费观看| 国产高清久久久| 中文字幕第一页久久| 欧美午夜不卡| 亚洲精品免费看| 久久中文精品| 国产精品一区二区免费不卡| 日韩视频免费观看高清完整版| 成人高清在线视频| 国产欧美日本一区二区三区| 欧美午夜精品| 亚洲国产一区视频| 男人天堂欧美日韩| 国产在线一区二区综合免费视频| 欧美成人三级电影在线| 亚洲网址在线| 日本中文字幕一区二区有限公司| 不卡在线观看av| 国产精品短视频| 亚洲一区二区免费看| 欧美极品美女视频| 久久先锋影音av鲁色资源网| 成人晚上爱看视频| 国产女人水真多18毛片18精品视频| 国内自拍一区| 午夜精品久久久久久久久久久| 在线成人午夜影院| 成人高清伦理免费影院在线观看| 中文字幕欧美三区| 亚洲欧美日韩视频二区 | 久久久久久久久久久久久夜| 亚洲色图自拍| 成人做爰69片免费看网站| 一级精品视频在线观看宜春院| 91精品国产欧美一区二区成人| 亚洲国产精品一区| 国产一区高清在线| 一区二区三区四区在线免费观看 | 欧美一级二区| 成人黄色av网站在线| 亚洲成国产人片在线观看| 久久综合九色综合欧美就去吻| 色婷婷av一区二区| 欧美日韩另类丝袜其他| 久久99蜜桃精品| 中文字幕在线不卡视频| 69成人精品免费视频| 夜夜爽av福利精品导航 | 欧美三级日韩在线| 欧美aaa在线| 国产精品视频九色porn| 国内精品伊人久久久久av一坑 | 99在线视频精品| 亚洲精品日产精品乱码不卡| 欧美日韩一区视频| 欧美激情无毛| 丝袜国产日韩另类美女| 久久精品视频网| 亚洲一区二区三区午夜| 国产999精品久久| 亚洲三级电影网站| 欧美精品自拍偷拍| 欧美精品99| 天堂va蜜桃一区二区三区| 中文字幕第一区第二区| 久久在线视频| 91在线视频免费观看| 午夜不卡av免费| 精品久久久久久久久久久久包黑料 | jlzzjlzz国产精品久久| 一区二区在线观看免费视频播放| 一区二区av| 午夜精品福利视频网站 | 久久精品天堂| 国产高清视频一区| 怡红院av一区二区三区| 日韩三级视频中文字幕| 99视频国产精品免费观看| 粉嫩av亚洲一区二区图片| 亚洲一区视频在线| 精品久久久久久亚洲综合网| 久久裸体视频| 亚洲电影自拍| 不卡影院免费观看| 人人爽香蕉精品| 日本一区二区久久| 欧美成人精品1314www| av不卡在线| 91亚洲男人天堂| 久久精品久久综合| 欧美性感一区二区三区| 激情久久五月天| 亚洲蜜臀av乱码久久精品| 91麻豆精品国产91久久久资源速度| 亚洲精品无人区| 成人污视频在线观看| 五月天激情综合| 一区二区三区蜜桃| 久久亚洲一级片| 在线视频你懂得一区二区三区| 亚洲视频中文| 成人动漫一区二区在线| 石原莉奈一区二区三区在线观看| 一区在线播放视频| 久久久久综合网| 欧美日韩一卡二卡三卡| 一区二区三区高清视频在线观看| 成人看片黄a免费看在线| 亚洲第一狼人社区| 亚洲欧美一区二区在线观看| 国产精品美女视频| 久久欧美一区二区| 91 com成人网| 久久一区中文字幕| 99热免费精品| 欧美日韩成人| 不卡视频一二三四| 成人免费av网站| 亚洲一区二区影院| av电影天堂一区二区在线| 亚洲一区二区欧美激情| 久久精品一区八戒影视| 在线播放中文一区| 国产精品伦一区二区三级视频| 久久精品免视看| 日韩午夜激情免费电影| 欧美丝袜自拍制服另类| 亚欧美中日韩视频|