您可以查看deckgl-overlay文件,该文件用于在主网站 demo上呈现标题,其中显示了使用自定义TripsLayer
和PolygonLayer
.
数据是为了可移植性而编码的,所以它不是特别可读,但我认为你的问题是你试图使用相同的数据结构来使用不同的层,这不一定是兼容的。
这是一个使用多层的示例:
const layers = [
new ArcLayer({
id: 'arc-layer',
strokeWidth: 10,
data: [
{ sourcePosition: [-122.4, 37.7843], targetPosition: [-122.416, 37.781], color: [255, 0, 255] },
],
}),
new ScatterplotLayer({
id: 'scatterplot-layer',
data: [
{ position: [-122.4, 37.78], radius: 5, color: [0, 255, 0] },
],
radiusScale: 100,
}),
new LineLayer({
id: 'line-layer',
strokeWidth: 10,
data: [
{ sourcePosition: [-122.43, 37.79], targetPosition: [-122.416, 37.781], color: [255, 0, 0] },
],
}),
]
如您所见,ArcLayer
andLineLayer
可以使用完全相同的data
对象,因为它们具有相同的形式,但 aScatterplotLayer
不能这样做。您必须注意每一层的文档(例如ArcLayer one),其中显示了示例数据。
免责声明:我在制作 deck.gl 的数据可视化团队中为 Uber 工作。