LeafletJS неверный объект GeoJSON - PullRequest
0 голосов
/ 07 февраля 2019

Я работаю с Leaflet, пытаясь запустить GeoJSON.Все хорошо, карта работает, но в консоли DevTools у меня ошибка с неверным GeoJSON.Мой компонент:

У меня есть getRegionsGeoJson, который возвращает мне geoJSON с некоторого URL.

Моя консоль DevTools

ngOnInit() {
    this.regionsGeoJsonSubscription$ = this.mapService.getRegionsGeoJson()
      .subscribe(regionsGeoJson => {
          this.regionsGeoJson = regionsGeoJson;
          this.regionsGeoJsonLoaded = Object.keys(this.regionsGeoJson).length > 0;
          this.statisticsEnabled = true;
          this.hidePreloader();
        }
      );

    // LeafletJS map init
    this.map = L.map('map')
      .setView([-25.441105, -49.276855], 13);

    L.tileLayer
      .provider('OpenStreetMap.Mapnik')
      .addTo(this.map);

    L.geoJSON( {
      style: function (feature) {
        return {color: feature.properties.color};
      }
    }).bindPopup(function (layer) {
      return layer.feature.properties.description;
    }).addTo(this.map);

  }
  hidePreloader() {
    this.preloader.nativeElement.style.display = 'none';
  }
}

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

Решение:

L.geoJSON(this.regionsGeoJson <-- solution {
  style: function (feature) {
    return {color: feature.properties.color};
  }
}).bindPopup(function (layer) {
  return layer.feature.properties.description;
}).addTo(this.map);
0 голосов
/ 07 февраля 2019

L.geoJSON фабрика ожидает, что ее первым аргументом будут ваши данные GeoJSON, или ноль, если вы предоставите их позже методом addData.

Ошибка, которую вы видите, состоит в том, что она пытается интерпретировать ваши вариантыобъект как объект GeoJSON, и, очевидно, терпит неудачу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...