liujie
2026-02-12 7a78cb97f96eea330dff3b222eff8d6dafc5e28a
xp-robotaxi-operation-boot/src/main/java/com/xiaopeng/operation/utils/mango/VehiclePositionService.java
@@ -28,27 +28,26 @@
    public List<VehiclePosition> findAvailableVehiclesNearby(double longitude,
                                                             double latitude,
                                                             double distanceInMeters,int num) {
        try {
        // 创建查询点
        Point referencePoint = new Point(longitude, latitude);
        
        // 设置最大距离(MongoDB使用公里或米,这里转换为公里)
        distanceInMeters = distanceInMeters / 1000;
        // 构建查询条件
        Query query = new Query();
            // 地理位置查询
        query.addCriteria(Criteria.where("point")
                .near(referencePoint)
                .maxDistance(distanceInMeters));
        query.addCriteria(Criteria.where("status").is(1)); // 运营中
        query.addCriteria(Criteria.where("state").is(0));  // 空闲中
        
        // 可以添加排序,按距离排序
         query.with(Sort.by(Sort.Direction.ASC, "point"));
        
//        // 可以限制返回数量
//         query.limit(num);
        return mongoTemplate.find(query, VehiclePosition.class);
        }catch (Exception e){
            e.printStackTrace();
        }
        return null;
    }