mirror of
https://github.com/visgl/react-map-gl.git
synced 2026-01-25 16:02:50 +00:00
55 lines
1.1 KiB
JavaScript
55 lines
1.1 KiB
JavaScript
/* global window */
|
|
import React, {Component} from 'react';
|
|
import {render} from 'react-dom';
|
|
import DeckGL, {ArcLayer} from 'deck.gl';
|
|
import MapGL from 'react-map-gl';
|
|
|
|
export default class App extends Component {
|
|
constructor(props) {
|
|
super(props);
|
|
this.state = {
|
|
viewport: {
|
|
longitude: -122.45,
|
|
latitude: 37.78,
|
|
zoom: 11,
|
|
bearing: 0,
|
|
pitch: 30
|
|
},
|
|
};
|
|
}
|
|
|
|
_onViewportChange = (viewport) => {
|
|
this.setState({viewport});
|
|
}
|
|
|
|
render() {
|
|
const {viewport} = this.state;
|
|
|
|
return (
|
|
<MapGL
|
|
{ ...viewport }
|
|
width="100%"
|
|
height="100%"
|
|
maxPitch={85}
|
|
onViewportChange={ this._onViewportChange } >
|
|
|
|
<DeckGL {...viewport} layers={[
|
|
new ArcLayer({
|
|
data: [
|
|
{sourcePosition: [-122.41669, 37.7853], targetPosition: [-122.45669, 37.781]}
|
|
],
|
|
strokeWidth: 4,
|
|
getSourceColor: x => [0, 0, 255],
|
|
getTargetColor: x => [0, 255, 0]
|
|
})
|
|
]}/>
|
|
|
|
</MapGL>
|
|
);
|
|
}
|
|
}
|
|
|
|
export function renderToDom(container) {
|
|
render(<App/>, container);
|
|
}
|