Карта Mapbox не отображается (react-map-gl)

#reactjs #data-visualization #mapbox-gl-js #deck.gl

#reactjs #визуализация данных #mapbox-gl-js #deck.gl

Вопрос:

Я использовал этот веб-сайт [http://vis.academy/#/building-a-geospatial-app/1-starting-with-a-map ] чтобы узнать, как визуализировать данные с помощью react и mapbox.gl но я столкнулся с некоторыми проблемами.

Я запускаю приложение на localhost: 8080, и все, что я вижу, это пустой белый экран. Несмотря на то, что я сопоставил свой код с кодом vis academy, у меня нет карты.

Вот мой код для app.js (все остальное не было изменено, вы можете клонировать код с их веб-сайта).

 import React, { Component } from 'react';
import MapGL from 'react-map-gl';
import {MapStylePicker} from './controls';

export default class App extends Component {
    state = {
      style: 'mapbox://styles/light-v9',
      viewport: {
        width: window.innerWidth,
        height: window.innerHeight,
        longitude: -74,
        latitude: 40.7,
        zoom: 11,
        maxZoom: 16
      }
    };
  

  onStyleChange = (style) => {
    this.setState({style});
  }

  _onViewportChange = (viewport) => {
    this.setState({
      viewport: {...this.state.viewport, ...viewport}
    });
  }

  componentDidMount() {
    window.addEventListener('resize', this._resize);
    this._resize();
  }

  componentWillUnmount() {
    window.removeEventListener('resize', this._resize);
  }

  _resize = () => {
    this._onViewportChange({
      width: window.innerWidth,
      height: window.innerHeight
    });
  }

  render() {
    <MapStylePicker onStyleChange={this.onStyleChange} currentStyle={this.state.style}/>
    return (
      <div>
        <MapGL
        
          {...this.state.viewport}
          mapStyle={this.state.style}
          // Callback for viewport changes (below)
          onViewportChange={viewport => this._onViewportChange(viewport)}

        ></MapGL>
      </div>
    );
  }
}

  

Для токена mapbox я сделал то, что мне сказал гид, а именно: перейти к файлу ~/.bash_profile и добавить в export MAPBOX_TOKEN="py........" and then I updated it in terminal using исходный файл ~/.bash_profile `

Далее в руководстве было еще две вещи, которые экспортировали токен mapbox, поэтому вот мой код для ~/.bash_profile

 
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/opt/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/opt/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/opt/anaconda3/etc/profile.d/conda.sh"
    else
        export PATH="/opt/anaconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

export MapboxAccessToken="pk.eyJ1IjoidmVyYTFrIiwiYSI6ImNrZjZ5bWZ3YzBhNDEycWxiZHBycDFrZnoifQ.hVFCurngFTtg2R0ivt-zyg"

export MAPBOX_TOKEN="pk.eyJ1IjoidmVyYTFrIiwiYSI6ImNrZjQ3aWJoczA4ZGQydm43cXFjcW5peTkifQ.sYJ99dX7B8QyPgV_-TszTA"

export mapboxApiAccessToken="pk.eyJ1IjoidmVyYTFrIiwiYSI6ImNrZjQ3aWJoczA4ZGQydm43cXFjcW5peTkifQ.sYJ99dX7B8QyPgV_-TszTA"

  

Большое вам спасибо за ваше время! Я в замешательстве (кстати, я на Mac)

Комментарии:

1. вы решили это? У меня возникла некоторая проблема.

2. У меня такая же проблема. Похоже, что это работает в Firefox, но не в Chrome.