如何从给定的纬度和经度通过 sql 查找具有距离的用户详细信息

问题描述 投票:0回答:0

我在给定纬度和经度的 1 公里范围内找到容器,但查询响应不正确。我没有得到正确的距离

DB::enableQueryLog();
$sqlDistance = DB::raw('( 6371 * acos( cos( radians(4.0883433) )
            * cos( radians( tbl_containers.lat ) )
            * cos( radians( tbl_containers.long )
            - radians(9.7590039) )
            + sin( radians(4.0883433) )
            * sin( radians( tbl_containers.lat ) ) ) )');
$containers =  Tbl_container::select('*')->selectRaw("{$sqlDistance} AS distance")->having('distance', '<', '1')->orderBy('distance','asc')->where($dy,'true')->limit(3)->get();
php mysql sql distance latitude-longitude
© www.soinside.com 2019 - 2024. All rights reserved.