java使用opsForGeo()来显示附近的人和距离

java使用opsForGeo来显示附近的人和距离

误点:
本来跟着黑马做附近的人显示 结果 opsForGeo().search() 方法版本老报错 索性换了一种方法
opsForGeo().radius()
结果可行!

代码演示如下图

        //设置圆 中心点 半径 以及半径距离
        Circle circle = new Circle(new Point(x,y), new Distance(10, Metrics.KILOMETERS));
        System.out.println(circle);
        //设置所要返回的信息
        RedisGeoCommands.GeoRadiusCommandArgs args = RedisGeoCommands.GeoRadiusCommandArgs.newGeoRadiusArgs()
                //设置最多显示两个成员
                .limit(5)
                //包含成员的坐标信息
                .includeCoordinates()
                //包含成员距离中心点的距离
                .includeDistance();
        System.out.println(args);
 
        //返回符合信息的数据
        GeoResults<RedisGeoCommands.GeoLocation<String>> search = redisTemplate.opsForGeo().radius(SHOP_TYPE+type,circle,args);
        System.out.println(search);
   
        //获取Content里面的集合
        List<GeoResult<RedisGeoCommands.GeoLocation<String>>> content = search.getContent();
        System.out.println(content);

运行结果如下图所示:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值