计算附近的人的常用实现

转自:http://blog.chinaunix.net/uid-26602509-id-4465799.html

方法1,用mongodb

方法2,查找矩形内的人,然后计算距离排序

$sql='select * from users_location where

latitude > '.$lat.'-1 and
latitude < '.$lat.'+1 and
longitude > '.$lon.'-1 and
longitude < '.$lon.'+1
order by ACOS(SIN(('.$lat.' * 3.1415) / 180 ) *SIN((latitude * 3.1415) / 180 ) +COS(('.$lat.' * 3.1415) / 180 ) * COS((latitude * 3.1415) / 180 ) *COS(('.$lon.'* 3.1415) / 180 - (longitude * 3.1415) / 180 ) ) * 6380 asc limit 10';

1度大概110公里

你可能感兴趣的:(mysql,附近的人,php)