Где правильный тип (машинопись) для слоя mapbox? - PullRequest
0 голосов
/ 24 февраля 2020

Проще объяснить с помощью примера. Взгляните на этот код:

const network:any = this.props.network;

    this.map.addLayer({
      id: "route",
      type: "line",
      source: {
        type: "geojson",
        data: network
      },
      layout: {
        "line-join": "round",
        "line-cap": "round"
      },
      paint: {
        "line-color": "red",
        "line-width": 2
      }
    });

this.props.network Установлен где-то еще, с кодом, подобным:

const response = await fetch("http://localhost:5000/network");
this.props.network = await response.json();

Этот код работает так, как ожидается. Но я хочу правильно установить тип te для this.props.network, удаляя обходной путь any. network является действительным объектом geo json, и код VS показывает мне эту подсказку:

enter image description here

Так что я думаю, правильный тип: FeatureCollection<Geometry, GeoJsonProperties>

Но я не знаю, где определены эти типы и что я должен импортировать;

1 Ответ

2 голосов
/ 24 февраля 2020

Импорт, который вы ищете, находится внутри пакета geojson. Поэтому импорт выглядит следующим образом:

import { FeatureCollection, Geometry, GeoJsonProperties } from "geojson";

Если посмотреть файлы определения типа mapbox-gl, можно заметить, что здесь упоминаются типы geojson: Mapbox-GL .d .ts файл

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