/* global window */ import React, {Component} from 'react'; import {render} from 'react-dom'; import MapGL, {Marker} from 'react-map-gl'; import ControlPanel from './control-panel'; import bartStations from './bart-station.json'; const MAPBOX_TOKEN = ''; // Set your mapbox token here import MARKER_STYLE from './marker-style'; export default class App extends Component { state = { viewport: { latitude: 37.729, longitude: -122.36, zoom: 11, bearing: 0, pitch: 50 }, interactionState: {}, settings: { dragPan: true, dragRotate: true, scrollZoom: true, touchZoom: true, touchRotate: true, keyboard: true, doubleClickZoom: true, minZoom: 0, maxZoom: 20, minPitch: 0, maxPitch: 85 } } _onViewportChange = viewport => this.setState({viewport}); _onInteractionStateChange = interactionState => this.setState({interactionState}); _onSettingChange = (name, value) => this.setState({ settings: {...this.state.settings, [name]: value} }); _renderMarker(station, i) { const {name, coordinates} = station; return (
{name}
); } render() { const {viewport, settings, interactionState} = this.state; return ( { bartStations.map(this._renderMarker) } ); } } export function renderToDom(container) { render(, container); }