请问为什么出现多个uid的时候,不同的uid生成的数据,轨迹线会连接在一起?

请教一下大佬们,我这么写会出现不同uid的数据,轨迹线会出现连接,要求的是不同的uid的连接是单独的。求大佬们帮忙解答一下~谢谢!
图片.png

  const onMessage = async (event) => {
    const data = JSON.parse(event.data);
    if (data.data == undefined || data.data.state !== undefined) {
      console.log('未响应');
      return;
    } else {
      const uid = data.data.uid; // 
      if (!polylineEntities[uid]) {
        initializePolyline(uid, positionParams); // 初始化轨迹线
      } else {
        updatePolylinePosition(uid, positionParams); // 更新轨迹线位置
      }
    }
  };
// 初始化创建新的轨迹线
let polylineEntities = {};
function initializePolyline(uid, positions) {
  polylineEntities[uid] = viewer.entities.add({
    polyline: {
      positions: new Cesium.CallbackProperty(() => {
        return Cesium.Cartesian3.fromDegreesArray(positions.flatMap(pos => [pos.longitude, pos.latitude]));
      }, false),
      width: 5,
      distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 500), //设置可见距离 1000米可见
      scaleByDistance: new Cesium.NearFarScalar(100, 100, 500, 100), //设置随图缩放距离和比例
      material: Cesium.Color.RED,
    },
  });
}
// 更新轨迹线位置
function updatePolylinePosition(uid, positions) {
  const polylineEntity = polylineEntities[uid];
  if (polylineEntity) {
    polylineEntity.polyline.positions = new Cesium.CallbackProperty(() => {
      return Cesium.Cartesian3.fromDegreesArray(positions.flatMap(pos => [pos.longitude, pos.latitude]));
    }, false);
    polylineEntity.polyline.show = checkedLines.value;

  }
}
阅读 896
1 个回答
// 更新轨迹线位置
function updatePolylinePosition(uid, newPositions) {
  const polylineEntity = polylineEntities[uid];
  if (polylineEntity) {
    // 创建一个新的positions数组
    const positions = [...newPositions];
    polylineEntity.polyline.positions = new Cesium.CallbackProperty(() => {
      return Cesium.Cartesian3.fromDegreesArray(positions.flatMap(pos => [pos.longitude, pos.latitude]));
    }, false);
    polylineEntity.polyline.show = checkedLines.value;
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题