我正在努力弄清楚如何定制kepler.gl的mapbox样式。我想让mapbox组件填充屏幕的宽度和高度。
我已经尝试过使用dispatcher更新它,但没有成功:
this.props.dispatch(loadCustomMapStyle({inputStyle: {url: 'mapbox://styles/mapbox/navigation-guidance-day-v4', id: 'some-id', style: {width: '100%', height: '100%'}}}));
this.props.dispatch(addCustomMapStyle());我还尝试使用样式组件ThemeProvider:
<ThemeProvider theme={{width: '100%', height:'100%'}}>
<KeplerGl
id="foo"
mapboxApiAccessToken={'API_KEY'}
store={store}
/>
</ThemeProvider>任何帮助都将不胜感激!
发布于 2019-05-28 14:50:00
KeplerGl组件接受width和height道具(Documents这里)。要用div的维数更改这些值,可以使用AutoSizer。例如,对于要填充屏幕的KeplerGl组件,可以将其包装在一个全屏的div中,如下所示:
import AutoSizer from 'react-virtualized/dist/commonjs/AutoSizer';
...
<div style={{position: "absolute", width: "100%", height: "100%"}}>
<AutoSizer>
{({height, width}) => (
<KeplerGl
mapboxApiAccessToken={MAPBOX_TOKEN}
id="map"
width={width}
height={height}
/>
)}
</AutoSizer>
</div>https://stackoverflow.com/questions/56046093
复制相似问题