как решить ошибку addSource на mapbox gl js - PullRequest
0 голосов
/ 18 марта 2020

Я загружаю локальный файл geo json из локального файла с помощью библиотеки mapbox gl js. когда я пытаюсь загрузить это на карту, это выдает ошибку «addSource не определен».

 showgeojson()
    {
      var data='./assets/nyc_speed-3.geojson';
      this.map.on('load', function () {

        this.map.addSource('scmpd-precinct-polygons', {
          type: 'geojson',
          data: './assets/nyc_Speed_3.geojson'
        });

        this.map.addLayer({
            'id': 'scmpd-precinct-polygons',
            'type': 'fill',
            'source': 'scmpd-precinct-polygons',
            'layout': {},
            'paint': {
                'fill-color': '#088',
                'fill-opacity': 0.8
            }
        });
    });
    }

1 Ответ

1 голос
/ 18 марта 2020

Ваша проблема в том, как JavaScript переопределяет "this" внутри функции.

Самое простое решение - использовать функцию стрелки вместо обычной:

this.map.on('load', () => {
...