Я работаю с React и Material-UI. Я хочу разделить код на две колонки. В одном из них я хочу сделать карту, используя deck.gl.
Очевидно, deck.gl отображается в полноэкранном режиме и охватывает весь экран. Я даже пытался установить атрибуты width = {80} и height = {80} для компонента DeckGL, но он все еще покрывает остальную часть страницы.
App.js
import React, { Component } from 'react';
import './App.css';
import Grid from '@material-ui/core/Grid';
import Map from './Map.js';
class App extends Component {
render() {
return (
<div >
<Grid container spacing={24}>
<Grid item xs={3}>
Column text
</Grid>
<Grid item xs={9}>
<Map/>
</Grid>
</Grid>
</div>
);
}
}
export default App;
Map.js
/// app.js
import React from 'react';
import DeckGL, {PolygonLayer} from 'deck.gl';
import {StaticMap} from 'react-map-gl';
// Set your mapbox access token here
const MAPBOX_ACCESS_TOKEN = 'pk.eyJ1IjoibWZvZ2xpbyIsImEiOiJjamt2N2Z2aWkwNXJxM3BxNXo4Mmt1a3MwIn0.IqS5iv1ZmLht4hm-N0cDYg';
// Initial viewport settings
const initialViewState = {
longitude: -87.630259,
latitude: 41.873400,
zoom: 13,
pitch: 35,
bearing: 0
};
// Data to be used by the LineLayer
const data = [{sourcePosition: [-122.41669, 37.7853], targetPosition: [-122.41669, 37.781]}];
class Map extends React.Component {
render() {
const layers = [
];
return (
<DeckGL
initialViewState={initialViewState}
controller={true}
layers={layers}
>
<StaticMap
mapboxApiAccessToken={MAPBOX_ACCESS_TOKEN}
/>
</DeckGL>
);
}
}
export default Map;