表结构参考:
id | name | log | lat |
1 | 门店1 | 116.71677 | 23.37246 |
2 | 门店2 | 120.71677 | 24.37246 |
代码:
$lat = $request->lat;
$log = $request->log;
$storeList = DB::table('stores')->selectRaw("*,SQRT(POW(111.2 * (lat - $lat), 2) + POW(111.2 * ($log - log) * COS(lat / 57.3), 2)) AS distance")
->orderBy('distance', 'asc')
->get();
$request->lat
和 $request->log
为前端传来的数据
AS distance
distance字段为 当前位置 到 所有门店记录 的直线距离,单位km
Comments | NOTHING