您可以扩展开放图层图层类吗?

时间:2019-07-01 17:54:10

标签: openlayers openlayers-5 angular-openlayers

我正在尝试使用打字稿中的es6语法扩展OpenLayers类。

我开玩笑地进行了一些测试,以验证我的新类是VectorLayer实例。我已经能够使用诸如setSource之类的方法,它们似乎可以在测试中工作。但是,当我将类添加到地图时,它似乎无法正常工作(地图上没有预期的功能)。我从类的上下文中删除了这些功能,然后按正常方式将它们添加到Vector Layer中,并且这些功能正常工作。


  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 :(得分:0)

将类导入到地图所在的文件时,我在导入时犯了一个错误。 Typescript由于某种原因没有选择它。

这是可能的。太酷了!