成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

使用redis—geo api實(shí)現(xiàn)搜索附近的人,自己寫的一個(gè)composer包

mating / 3031人閱讀

摘要:地址安裝需要使用,安裝中國鏡像如果是應(yīng)用在項(xiàng)目當(dāng)中的話找到根目錄,需要和同級(jí)基本操作初始化添加在集合中新加一個(gè)坐標(biāo)結(jié)構(gòu)是或者返回刪除刪除集合中指定元素默認(rèn)存在集合,可以指定返回或如果是指定的集合名就用坐標(biāo)查詢附近的單位查詢范圍內(nèi)元素

git地址

安裝

需要使用composer,安裝composer, composer中國鏡像

如果是應(yīng)用在項(xiàng)目當(dāng)中的話找到根目錄,需要和 composer.json同級(jí)

composer require gaopengfei/redis_lbs
基本操作 初始化
require_once __DIR__."/vendor/autoload.php";
$lbs = new LBSServicesLBSService();
添加
$add_params = [
    [
        "name" => "yabao_road",
        "long" => "116.43620200729366",
        "lat" => "39.916880160714435"
    ],
    [
        "name" => "jianguomen",
        "long" => "116.4356870231628",
        "lat" => "39.908560377800676"
    ],
    [
        "name" => "chaoyangmen",
        "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"
    ],


];
/**
 * 在集合中新加一個(gè)坐標(biāo)
 * @param array $params
 *  結(jié)構(gòu)是 ["name"=>"xxx","long"=>"1.2321","lat"=>"1.3112"]或者[["name"=>"xxx","long"=>"1.2321","lat"=>"1.3112"]]
 * @param null $key
 * @return int
 */
$res = $lbs->add($add_params);

返回
int 6
刪除
/**
 * 刪除集合中指定元素
 * @param $name
 * @param null $key  默認(rèn)存在集合,可以指定
 * @return int
 */
$res = $lbs->del("gao1");

返回
int 0 或 1


如果是指定的集合名就
$res = $lbs->del("gao1","set-name");
用坐標(biāo)查詢附近的單位
/**
 * 查詢范圍內(nèi)元素,如果不轉(zhuǎn) key就用默認(rèn)的
 * @param $long     經(jīng)度
 * @param $lat      緯度
 * @param $radius   范圍
 * @param $unit     單位  (僅支持 m,km,ft,mi)
 * @param null $key 集合名
 * @return mixed
 */
$search = $lbs->search("116.435182767868","39.91811857809279",500,"m");

返回?cái)?shù)組
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"
  ]
]
根據(jù)已有的位置查詢
/**
 * 根據(jù)集合中的元素查詢范圍內(nèi)元素,如果不轉(zhuǎn) key就用默認(rèn)的
 * @param $name         集合中的元素名
 * @param $radius       范圍
 * @param $unit         單位
 * @param null $key     集合名
 * @return mixed
 */
$search = $lbs->->searchByMembers("fesco",500,"m");

返回?cái)?shù)組
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"
  ]
]
列出集合的所有值(其實(shí)就是 zrange)
/**
 * 列出集合中的內(nèi)容
 * @param $key          集合的key
 * @param int $start    起始位置
 * @param int $end      結(jié)束位置 -1 為直到末尾
 * @return array
 */
$list = $lbs->list($test->geoset_name,2,-1);

返回?cái)?shù)組
array:6 [▼
  0 => "jianguomen"
  1 => "yabao_road"
  2 => "fesco"
  3 => "cofco"
  4 => "galaxy_soho"
  5 => "chaoyangmen"
]

博客原文

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/22573.html

相關(guān)文章

  • 【戴嘉樂】基于IPFS和GeoHash構(gòu)建具有地理位置價(jià)值服務(wù)的DDApp(理論篇)

    摘要:數(shù)據(jù)將具有如下個(gè)特點(diǎn)將二維的經(jīng)緯度轉(zhuǎn)換成字符串,比如下圖展示了北京個(gè)區(qū)域的字符串,分別是,等等,每一個(gè)字符串代表了某一矩形區(qū)域。例如,坐標(biāo)對(duì),位于北京安定門附近,后形成的值為。 作者簡介:戴嘉樂( Mr.Maple ) | 前百度高級(jí)研發(fā)工程師 | IPFS應(yīng)用實(shí)踐者&布道師|個(gè)人網(wǎng)站:https://www.daijiale.cn聯(lián)系方式:微信號(hào):daijiale6239。 show...

    lmxdawn 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<