0.0.27 • Published 9 years ago

maps-react v0.0.27

Weekly downloads
1
License
ISC
Repository
-
Last release
9 years ago

ReactJS bindings for mapbox-gl

mapboxgl must be passed as prop to component as of now :/. This is work in progress, some features might not work as expected, use with caution.

Usage

  npm install -S maps-react

Example: Setting up Map

import React from 'react';
import mapboxgl from 'mapbox-gl'; // Causes problems with webpack, temp fix is to use a global dependency
import { Map } from 'maps-react';

mapboxgl.accessToken = GL_TOKEN; // your access token

export default () =>
  <Map
    style="mapbox://styles/mapbox/streets-v8"
    center={[-74.50, 40]}
    zoom={9}
    mapboxgl={mapboxgl}
  />
;

Example: Toggling a layer

import React from 'react';
import { Map, Source, Circle, Line}  from 'maps-react';

mapboxgl.accessToken = GL_TOKEN; // your access token

export default class ToggleLayer extends React.Component {

  state = {
    contours: 'visible',
    museums: 'visible',
  }

  render() {
    return (
      <div>
        <div className="menu">
          <a onClick={() => this.setState({ contours: this.state.contours === 'visible' ? 'none' : 'visible' })}>Contour</a>
          <a onClick={() => this.setState({ museums: this.state.museums === 'visible' ? 'none' : 'visible' })}> Museums</a>
        </div>
        <Map
          style="mapbox://styles/mapbox/streets-v8"
          zoom={15}
          center={[-71.97722138410576, -13.517379300798098]}
          mapboxgl={mapboxgl}
        >
          <Source
            name="museums"
            type="vector"
            url="mapbox://mapbox.2opop9hr"
          >
            <Circle
              name="museums"
              visibility={this.state.museums}
              sourceLayer="museum-cusco"
              paint={{
                'circle-radius': 8,
                'circle-color': 'rgba(55,148,179,1)',
              }}
            />
          </Source>
          <Source
            name="contours"
            type="vector"
            url="mapbox://mapbox.mapbox-terrain-v2"
          >
            <Line
              name="contours"
              visibility={this.state.contours}
              sourceLayer="contour"
              layout={{
                'line-join': 'round',
                'line-cap': 'round',
              }}
              paint={{
                'line-color': '#877b59',
                'line-width': 1,
              }}
            />
          </Source>
        </Map>
      </div>
    );
  }


}

Examples

These examples are inspired from mapbox-gl's official examples.

0.0.27

9 years ago

0.0.26

9 years ago

0.0.25

9 years ago

0.0.23

9 years ago

0.0.22

9 years ago

0.0.21

10 years ago

0.0.20

10 years ago

0.0.18

10 years ago

0.0.17

10 years ago

0.0.16

10 years ago

0.0.15

10 years ago

0.0.14

10 years ago

0.0.12

10 years ago

0.0.11

10 years ago

0.0.10

10 years ago

0.0.9

10 years ago

0.0.8

10 years ago

0.0.7

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago