-1

我使用这个工具来计算两点之间的距离:

$location = new CnpPoi(28.535153, -81.383219);
$destination = new CnpPoi(42.594018, -88.433886)
$location->getDistanceInMilesTo($destination);
$location->getDistanceInMetersTo($destination);

需要在查询中使用它来获取商店按距离已经通过 url 他的 $lat e $long 的给定点的距离排序。我如何在查询中使用这个函数?

4

1 回答 1

0
public function getStoresNear($latitude, $lngitude){

    $stores = Store::select('stores.*')
        ->selectRaw('( 6371 * acos( cos( radians(?) ) *
                           cos( radians( store_lat ) )
                           * cos( radians( store_long ) - radians(?)
                           ) + sin( radians(?) ) *
                           sin( radians( store_lat ) ) )
                         ) AS distance', [$latitude, $longitude, $latitude])
        ->orderBy('distance', 'desc')
        ->get();

    return $stores;
}
于 2017-01-18T20:04:29.237 回答