//距离公里数限制
$km = 100;
//$lat $lng 用户当前经纬度
//lat lat 用户表数据库经纬度字段
$distance = "ACOS(SIN(( $lat * 3.1415) / 180 ) *SIN((lat * 3.1415) / 180 ) +COS(( $lat* 3.1415) / 180 ) * COS((lat * 3.1415) / 180 ) *COS(( $lng* 3.1415) / 180 - (lng * 3.1415) / 180 ) ) * 6380";
//只查询当前经纬度距离100公里内的用户
$where_km = $distance . " < " . $km;
//按近距离排序
$order = 'level desc,' . $distance . ' asc';
$userList = M_User::where($where_km)
//计算出距离(distance)
->field('name,lat,lng,' . $distance . ' as distance')
->order($order)
->select();
本文为Pasa吴原创文章,转载无需和我联系,但请注明来自Pasa吴博客https://www.pasawu.top
最新评论