public Long addReo(String key, double longitude, double latitude, String itemName) { Point point = new Point(longitude, latitude); return redisTemplate.getOperations().opsForGeo().geoAdd(key, point, itemName); }
批量添加地理位置
1 2 3
public Long geoadd(String key, Map<Object, Point> memberCoordinateMap) { return redisTemplate.getOperations().opsForGeo().geoAdd(key, memberCoordinateMap); }
public GeoResults geoRadius(String key, double longitude, double latitude, double radius) { Point point = new Point(longitude, latitude); Distance distance = new Distance(radius, Metrics.KILOMETERS); Circle circle = new Circle(point, distance); return redisTemplate.getOperations().opsForGeo().geoRadius(key, circle); }
根据给定地理位置坐标获取指定范围内的地理位置部分集合
1 2 3 4 5 6 7
public GeoResults geoRadiusArgs(String key, double longitude, double latitude, double radius, int limit) { Point point = new Point(longitude, latitude); Distance distance = new Distance(radius, RedisGeoCommands.DistanceUnit.KILOMETERS); Circle circle = new Circle(point, distance); RedisGeoCommands.GeoRadiusCommandArgs args= RedisGeoCommands.GeoRadiusCommandArgs.newGeoRadiusArgs().includeDistance().includeCoordinates().limit(limit).sortAscending(); return redisTemplate.getOperations().opsForGeo().geoRadius(key, circle, args); }