Можете ли вы расширить класс слоев открытых слоев? - PullRequest
1 голос
/ 01 июля 2019

Я пытаюсь расширить класс OpenLayers с синтаксисом es6 в машинописи.

Я выполнил несколько тестов в шутку, чтобы убедиться, что мой новый класс является экземпляром VectorLayer.Я был в состоянии использовать методы, такие как setSource, и они, кажется, работают в тестах.Однако, когда я добавляю свой класс на карту, он, кажется, не работает (на карте нет ожидаемых объектов).Я удалил элементы из контекста класса и добавил их в векторный слой обычным способом, и функции работают.Ожидается


  export class GridLayer extends VectorLayer {
  constructor () {
    super()

    const axisX = new LineString([[0, 1000], [1000, 1000]])
    const axisY = new LineString([[1000, 0], [1000, 1000]])
    const featureX = new Feature({ geometry: axisX })
    const featureY = new Feature({ geometry: axisY })

    this.setSource(new VectorSource({
      features: [
        featureX,
        featureY
      ],
    }))
  }
}

, на карте должна быть строка LineString.на карте ничего нет.

1 Ответ

0 голосов
/ 01 июля 2019

Я сделал ошибку в своем импорте при импорте класса в файл, где находилась карта.Typescript не взял его по какой-то причине.

Это возможно, хотя.Очень круто!

...