如何解决在 Angular2+ 中更新deck.gl 层
我正在尝试根据作为参数传递的数据更新 Angular 中的deck.gl 层,但它不起作用,该层没有改变。 updateTriggers
只是“仅响应”功能吗?如果没有,我做错了什么?谁能帮帮我?
updateLayer(minTime: number,maxTime: number): void {
const layer = new ArcLayer({
id: 'arcs',data: COORDINATES,dataTransform: d => d.filter(f => f.time >= minTime && f.time <= maxTime),...
updateTriggers: {
dataTransform: [minTime,maxTime]
}
});
this.deck.setProps({ layers: layer });
}
感谢任何帮助:))
解决方法
我认为使用 DataFilterExtension
、check this out 是一个好方法。
您的 COORDINATES
也包含 time
信息,对吗?然后你可以应用类似的东西:
updateLayer(minTime: number,maxTime: number): void {
const layer = new ArcLayer({
id: 'arcs',data: COORDINATES,filterRange: [1,1],getFilterValue: f => Number(f.time >= minTime && f.time <= maxTime),extensions: [new deck.DataFilterExtension({ filterSize: 1 })],updateTriggers: {
getFilterValue: [minTime,maxTime]
}
});
this.deck.setProps({ layers: layer });
}
您可以使用脚本 API 查看完整示例 here。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。