TP5查询最近景区

Posted 去糖不加冰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TP5查询最近景区相关的知识,希望对你有一定的参考价值。

根据手机端传过来的经纬度坐标值,通过查询mysql数据库计算出距离每个景区的公里数,然后通过having取出1000公里以内的,order by 排正序再使用limit取出第一个,就是距离最近的那个景区了。

   /*
    根据经纬度坐标获取最近的景区
    */
    public function getAeraMessage()
        $lng = input('longitude');//经度坐标
        $lat = input('latitude');//纬度坐标
        if(empty($lng)  || empty($lat))
             echo json_encode(['stat'=>0,'err'=>'缺少参数']);
             exit();
        
        $message = Db::name('scenic_area')
        ->field('id as scenic_id,scenic_name,scenic_address,scenic_picture,
        (
         6371 * acos(
        cos(radians('.$lat.'))
        * cos( radians( latitude ) )
        * cos(radians( longitude ) - radians('.$lng.'))
        +
        sin( radians('.$lat.') )
        * sin( radians( latitude ) )
        )
        ) as distance')
        ->having('distance < 1000')//查询1000公里以内
        ->order('distance asc')
        ->limit(1)
        ->find();
        if(empty($message))
           echo json_encode(['status'=>0,'err'=>'没有数据']);
             exit(); 
        
           echo json_encode(['status'=>1,'data'=>$message]);
    

以上是关于TP5查询最近景区的主要内容,如果未能解决你的问题,请参考以下文章

保定自然风景景区龙潭湖,旅游地图,旅游攻略怎么样?

智慧景区电子商务系统

如何基于AI智能视频技术实现公园景区的人流量实时统计?

计算机毕业设计springboot+vue景区疫情预警系统

读取景区地区不是所有地方都有交通态势解决办法

全国5A级旅游景区已达250家