当前位置: 首页 > 知识库问答 >
问题:

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

常茂
2023-09-27

请教一下大佬们,我这么写会出现不同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;  }}

共有1个答案

宋宇
2023-09-27
// 更新轨迹线位置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;  }}
 类似资料:
  • 问题内容: 影片有很多活动 我正在尝试获取将来安排有活动的所有视频。 我已经有这个了: 此方法有效,但是如果同一视频将来有多个事件,它将为我提供重复的视频记录。当然,我可以遍历数组并清除重复项,但是必须有一种SQL方式可以做到这一点。 我尝试添加一个 但是它只返回ID字段,而不是整个记录。 问题答案: 尝试使用代替,您将不会再看到重复的视频结果。 另外,您应该在named_scope中使用lamb

  • 轨迹信息为用户的浏览信息(比如首页、商品页、购物车、支付页、支付成功页等),只有调用轨迹方法,客服端的客服人员才能看到用户的浏览内容,提高服务质量。 > 参数说明: 一.标准集成方式 基本集成方式适用于在需要上传的轨迹的界面分别调用以下接口实现轨迹上传功能。 1.首页轨迹 /** 上报轨迹 @param pageName 当前页面名称 @param model 轨迹参数模型 */ NtalkerT

  • 轨迹的集成 轨迹信息为用户的浏览信息(比如首页、商品页、购物车、支付页、支付成功页等),用户可以在以上页面调用轨迹方法,调用成功后,客服人员可以在客服端看到用户的浏览内容,同时可以做客户下单统计,有助提高服务质量。如果客户不需要做统计可以不传轨迹。 参数说明: 参数 类型 是否必传 说明 siteid String 是 企业id title String 是 用户浏览当前页的标题名称 pagele

  • 问题内容: 实际的UID,有效的UID,以及某些系统甚至具有“已保存的UID”。所有这些的目的是什么,尤其是最后一个? 问题答案: 每个UNIX进程都有3个与之关联的UID。超级用户特权是UID = 0。 真实的UID 这是创建此流程的用户/流程的UID。仅当正在运行的进程的EUID = 0时才可以更改。 有效的UID 此UID用于评估执行特定操作的进程的特权。如果EUID!= 0,则可以将EUI

  • 问题内容: 我正在使用ant生成javadocs,但是一遍又一遍地获取此异常-为什么? 我正在使用JDK 1.6.0_06 版本。 问题答案: 看来这已被报告为Java错误。这似乎是由于使用了第三方库(例如JUnit)中的注释,而在Javadoc调用中不包含带有该注释的jar。 如果是这种情况,只需在javadoc上使用-classpath选项并包括额外的jar文件。

  • 问题内容: 抱歉,我仍然不明白。我的问题是我对物理学一无所知,但我的老师指派给我这个项目。 我处于停滞状态。请帮忙 问题答案: 在a中,第一个参数应为a ,例如,代表初始坐标,例如。第二个参数应该是类型兼容的值,在这种情况下,就是射弹应向其移动的坐标。随着时间线播放,将会相应更新。添加一秒钟以驱动坐标。 在此处看到的第一个示例中,三个实例将图形从其初始位置移动到其目的地位置,该位置是沿每个坐标轴的