作者/来源:yixinu.com
栏目:运维/编程
日期:2016-08-11 15:01:57
mysql算法是这样的
SELECT *, ROUND(6378.138*2*ASIN(SQRT(POW(SIN((22.299439*PI()/180-latitude*PI()/180)/2),2)+COS(22.299439*PI()/180)*COS(latitude*PI()/180)*POW(SIN((114.173881*PI()/180-longitude*PI()/180)/2),2)))*1000) AS juli FROM map ORDER BY juli DESC;
function gainNearby( $longitude = '' , $latitude = '' ){
|
2
|
$sql = "SELECT *,ROUND(6378.138*2*ASIN(SQRT(POW(SIN(( ? * PI()/180-latitude*PI()/180)/2),2)+COS( ? *PI()/180)*COS(latitude*PI()/180)*POW(SIN(( ? * PI()/180-longitude*PI()/180)/2),2)))*1000) AS juli FROM map WHERE longitude between ? - 0.5 and ? + 0.5 AND latitude between ? - 0.5 and ? + 0.5" ;
|
3
|
$query = $this ->db->query( $sql , array ( $latitude , $latitude , $longitude , $longitude , $longitude , $latitude , $latitude ));
|
4
|
$result = $query ->result_array();
|
5
|
return $result ;
|
6
|
}
|
UKOBZ-QLMWX-IEF4G-7WDPG-DMKH7-MRBGT