我使用语义反应 ui 作为 ui 库和反应映射 gl 在我的反应应用程序中呈现地图。但是从 react-map-gl 渲染的地图并没有占据列的整个宽度。请在下面找到图片:
虚线表示列。地图仍有足够的宽度来拉伸。但根据文档,我们必须以像素为单位提供地图的宽度和高度。
容器代码如下:
render() {
return (
<Grid style={{ padding: '20px' }}>
<Grid.Row>
<Grid.Column mobile={16} computer={12} style={{ border: 'dotted', paddingLeft: 0 }}>
<PincodesMap
viewPort={this.props.viewPort}
handleViewportChange={this.handleViewportChange.bind(this)}
/>
</Grid.Column>
<Grid.Column mobile={16} computer={4} style={{ border: 1 }}>
This is test
</Grid.Column>
</Grid.Row>
</Grid>
);
}
而保存地图的组件如下所示:
import React from 'react';
import ReactMapGL from 'react-map-gl';
const PincodesMap = ({ viewPort, handleViewportChange }) => (
<ReactMapGL
{...viewPort}
mapStyle="mapbox://styles/mapbox/dark-v9"
mapboxApiAccessToken="key"
onViewportChange={handleViewportChange}
/>
);
export default PincodesMap;
地图的视口代码如下:
viewPort: {
width: 800,
height: 800,
latitude: 21.1458,
longitude: 79.0882,
zoom: 4
}
我们无法提供百分比宽度。我们如何让它看起来全宽?另外,如何在手机上自动调整地图大小?
谢谢