如何在mapbox上添加three.js对象

问题描述 投票:0回答:1

我目前正在使用react,react-map-gl和three.js。我想在react-map-gl之上渲染一个.obj。

如果deck.gl代码/ react-map-gl代码被注释掉,我现在通过以下方式成功地在屏幕上显示我的.obj:car

render()

<div 
    className='component-app'
    data-test='component-app'>
    <DeckGL
      layers={this._renderLayers()}
      controller={controller}
      initialViewState={INITIAL_VIEW_STATE}
      viewState={viewState}
      onViewStateChange={this._onViewStateChange}>
      {baseMap && (
        <StaticMap
          width={width}
          height={height}
          reuseMaps
          mapStyle="mapbox://styles/mapbox/dark-v9"
          preventStyleDiffing={true}
          mapboxApiAccessToken={MAPBOX_TOKEN} />
      )}
    </DeckGL>
    {this._loadObj()}
  </div>

但是,有了这个,我的.obj文件总是被地图隐藏。我想把它放在地图上。我已经尝试为所有这些组件编辑z-index,但无济于事。会很感激的建议。

reactjs three.js deck.gl react-map-gl
1个回答
0
投票

知道了,答案只是在我的汽车画布上添加一个ID,然后增加z-index:

app.js:

renderer.domElement.id = 'object-canvas';

CSS:

#object-canvas {
  position: absolute;
  z-index: 10;
}
© www.soinside.com 2019 - 2024. All rights reserved.