Geo 的一些案例
156字小于1分钟
2024-08-10
geo 距离计算
/**
* @ClassName UserShopDistanceDemo
* @Desciption 用户与商家的距离计算距离
* @Author MaRui
* @Date 2021/8/30 19:28
* @Version 1.0
*/
public class UserShopDistanceDemo {
private static Jedis jedis = new Jedis("127.0.0.1", 6379);
public static void main(String[] args) {
UserShopDistanceDemo demo = new UserShopDistanceDemo();
demo.addLocation("张三", 116.49428, 39.86700);
demo.addLocation("店铺", 116.459612, 39.85717);
double distance = demo.getDistance("张三", "店铺");
System.out.println("张三到店铺的距离:" + distance + " km");
}
/**
* 添加一个地理位置
* @param name
* @param lontitude
* @param latitude
*/
public void addLocation(String name, double lontitude, double latitude) {
jedis.geoadd("location_data", lontitude, latitude, name);
}
/**
* 获取用户到商家的位置
* @param user
* @param shop
* @return
*/
public double getDistance(String user, String shop) {
return jedis.geodist("location_data", user, shop, GeoUnit.KM);
}
}