我使用此工具计算2点之间的距离:
$location = new CnpPoi(28.535153, -81.383219);
$destination = new CnpPoi(42.594018, -88.433886)
$location->getDistanceInMilesTo($destination);
$location->getDistanceInMetersTo($destination);
需要在查询中使用它来获得距离已经通过url他的$ lat e $ long的给定点的距离排序的商店。 我如何在查询中使用此函数?
答案 0 :(得分: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;
}