簡體   English   中英

如何使用Deck.gl顯示多層

[英]How to display multiple layers with Deck.gl

我正在嘗試使用Deck.gl制作交互式圖表,該圖表將HexagonLayer(用於人口數據)與IconLayer(用於零售鏈的位置)相結合。

deck.gl 文檔指示可以在彼此之上渲染多個層:

deck.gl允許您使用相同或不同的數據集渲染多個圖層。 您只需提供一個圖層實例數組,deck.gl就會按順序渲染它們(並在單擊鼠標懸停等時處理交互性)。

甚至還有一個有關如何初始化圖層對象的示例:

<DeckGL layers={[
  new PathLayer({data: ...}),
  new LineLayer({data: ...}),
  new ArcLayer({data: ...}),
]} />

但是我無法弄清楚如何加載單獨的數據源並初始化兩層,所有示例都編寫為單層演示。

有人知道實際上結合了多層的任何示例嗎?

您可以查看deckgl-overlay文件,該文件用於在主網站演示中呈現標題,該文件使用自定義TripsLayerPolygonLayer顯示用法。

數據經過編碼以具有可移植性,因此並不是特別可讀,但是我認為您的問題是,您試圖使用具有相同數據結構的不同層,但不一定兼容。

這是一個使用多層的示例:

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] },
    ],
  }),
]

如您所見, ArcLayerLineLayer可以使用完全相同的data對象,因為它們具有相同的形式,但是ScatterplotLayer不能這樣做。 您必須注意每個圖層的文檔(例如ArcLayer圖層),其中顯示了示例數據。

免責聲明:我在Ueck的數據可視化團隊工作,該團隊創建了deck.gl。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM