最近在做小程序中
其中一个需求就是要到找出某个经纬度地点附近的位置
本质最终的目的就是确定以某个确定的经纬度地点,以某半径画圆形确定的4个点对应的经纬度
/** * [returnSquarePoint description] * @param [type] $lng 精度 * @param [type] $lat 纬度 * @param float $distance 距离 以KM为单位 * @param integer $eatch_radius 地球半径 一般默认值给6371KM * @return [type] [description] */ function returnSquarePoint($lng, $lat,$distance = 0.5,$eatch_radius = 6371){ $dlng = 2 * asin(sin($distance / (2 * $eatch_radius)) / cos(deg2rad($lat))); $dlng = rad2deg($dlng); $dlat = $distance/$eatch_radius; $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) ); }
确定4个点的经纬度以后,如果你把地点的位置信息存在了数据库内,可以将4个点的经纬度带入数据库查询