openlayers - 你可以扩展开放层层类吗?
问题描述
我正在尝试在打字稿中使用 es6 语法扩展 OpenLayers 类。
我开玩笑地运行了一些测试来验证我的新类是 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。实际上,地图上什么都没有。
解决方案
将类导入到地图所在的文件时,我在导入中犯了一个错误。Typescript 出于某种原因没有选择它。
不过这是可能的。很酷!
推荐阅读
- reactjs - 在页面组件的 getInitialProps 中通过 fetch 在接收到的页面之间传递数据
- moment-timezone - 如何清除与时刻时区对象关联的时区
- arm - OpenOCD 执行 MI 命令失败:-target-select remote localhost:3333
- c# - 有没有办法使用 Roslyn 中的 Compilation 对象从引用的程序集中获取程序集级属性?
- python - Python - 很难理解这个递归代码示例
- tsql - 是否有使用 FIFO 分配查询发票和接收的 SQL 语句
- javascript - 如何使用 ChartJS 获取一组 Date 对象并根据一天中的时间显示频率
- scala - 读取文件,控制台没有输出(intellij)
- python - ValueError:密集层的输入0与层不兼容::预期的min_ndim = 2,发现ndim = 1。收到的完整形状:[无]
- javascript - createStripeCharge gcloud Javascript函数错误未定义问题