当前位置: 首页 > 后端技术 > PHP

使用redis-geoapi搜索附近的人,自己写的一个composer包

时间:2023-03-30 02:32:18 PHP

git地址安装需要composer。作曲家已安装。如果项目中应用了Composer中文镜像,则找到根目录。它需要与composer.json处于同一级别。Composerrequiregaopengfei/redis_lbs基本操作初始化require_once__DIR__.'/vendor/autoload.php';$lbs=new\LBS\Services\LBSService();添加$add_params=[['name'=>'yabao_road','long'=>'116.43620200729366','lat'=>'39.916880160714435'],['name'=>'建国门','long'=>'116.4356870231628','lat'=>'39.908560377800676'],['name'=>'朝阳门','long'=>'116.4345336732864','lat'=>'39.924466658329585'],['name'=>'galaxy_soho','long'=>'116.4335788068771','lat'=>'39.921372916981106'],['name'=>'cofco','long'=>'116.43564410781856','lat'=>'39.92024564137184'],['name'=>'fesco','long'=>'116.435182767868','lat'=>'39.91811857809279'],];/***在集合中添加一个新坐标*@paramarray$params*结构为['name'=>'xxx','long'=>'1.2321','lat'=>'1.3112']或[['name'=>'xxx','long'=>'1.2321','lat'=>'1.3112']]*@paramnull$key*@returnint*/$res=$lbs->add($add_params);returnint6delete/***删除集合中的指定元素*@param$name*@paramnull$key默认集合存在,可以指定*@returnint*/$res=$lbs->del('gao1');如果是指定集合名则返回int0或1$res=$lbs->del('gao1','set-name');usecoordinatestoquerynearbyunits/***查询范围内的元素,如果不改key,使用默认*@param$longlongitude*@param$latlatitude*@param$radiusrange*@param$unit单位(只支持m,km,ft,mi)*@paramnull$keycollectionname*@returnmixed*/$search=$lbs->search('116.435182767868','39.91811857809279',500,'m');returnarrayarray:4[▼0=>array:2[▼"name"=>"fesco""dist"=>"0.1250"]1=>array:2[▼"name"=>"yabao_road""dist"=>"162.8454"]2=>array:2[▼"name"=>"cofco""dist"=>"239.7758"]3=>array:2[▼"name"=>"galexy_soho""dist"=>"386.9165"]]根据已有位置查询/***根据集合中的元素查询范围内的元素,如果不改key,使用默认的*@param$name集合中的元素名称*@param$radiusrange*@param$unitunit*@paramnull$key集合名称*@returnmixed*/$search=$lbs->->searchByMembers('fesco',500,'m');返回数组array:4[▼0=>array:2[▼"name"=>"fesco""dist"=>"0.1250"]1=>array:2[▼"name"=>"yabao_road""dist"=>"162.8454"]2=>array:2[▼"name"=>"cofco""dist"=>"239.7758"]3=>array:2[▼"name"=>"galaxy_soho""dist"=>"386.9165"]]列出集合的所有值(实际上是zrange)/***列出集合的内容*@param$key集合的key*@paramint$start起始位置*@paramint$end结束位置-1直到结束*@returnarray*/$list=$lbs->list($test->geoset_name,2,-1);returnarray数组:6[▼0=>"建国门"1=>"yabao_road"2=>"fesco"3=>"cofco"4=>"galaxy_soho"5=>"朝阳门"]博客原文