php根据经纬度查询最近商家

//$lon1 用户当前经度  $lat1用户当前纬度  $lon2数据库经度的字段名  $lat2数据库纬度的字段名
public function distance_sql($lon1='116.434164',$lat1='39.909843',$lon2='lon',$lat2='lng')
    {
        $sql = "round(6378.138*2*asin(sqrt(pow(sin( ({$lat1}*pi()/180-{$lat2}*pi()/180)/2),2)+cos({$lat1}*pi()/180)*cos({$lat2}*pi()/180)* pow(sin( ({$lon1}*pi()/180-{$lon2}*pi()/180)/2),2)))*1000) ";
        return $sql;
    }
    public function address()
    {
        $sql = $this->distance_sql();
        $row = Db::query("select * ,".$sql."as distance  from ws_shop order by distance");
        return json($row);
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容