TP的model层获取门店信息,获取1公里范围之内的门店信息

/**
 * 门店定位模型类
 * Class Location
 * @package app\api\model
 */
class Location extends Base
{
    /**
     * 获取门店信息,获取1公里范围之内的门店信息
     * @param $lat,$lng
     * @return null|static
     * @throws \think\exception\DbException
     */
    public function location($slng,$slat)
    {
		$sql = "SELECT *, ROUND(6378.138*2*ASIN(SQRT(POW(SIN(($slat*PI()/180-lat*PI()/180)/2),2)+COS($slat*PI()/180)*COS(lat*PI()/180)*POW(SIN(($slng*PI()/180-lng*PI()/180)/2),2)))) AS juli FROM wy_shop where isEffect=1";
		$shoplist = Db::query($sql);
		$Gdata=array();
		if(!empty($shoplist)){
		   $i=0;
           $min = $shoplist[$i]['juli'];
		   foreach($shoplist as $k=>$v){
		     if($min>$v['juli']){
			   $min=$v['juli'];
			   $i=$k;
			 }
		   }
		   $Gdata['store_name']  = $shoplist[$i]['shop_name'];
		   $Gdata['store_add']   = $shoplist[$i]['shop_add'];
		   $Gdata['lng']         = $shoplist[$il]['at'];
		   $Gdata['lat']         = $shoplist[$i]['lng'];
		}
		return $Gdata;
    }
}

猜你喜欢

转载自blog.csdn.net/EasyTure/article/details/112847022