在OL6中捕捉绘图结束



我有这个代码在升级到OL6.6.1后抱怨

draw.on('drawend', (e: olDrawEvent) => {
const format: olGeoJson = new olGeoJson();
this.shapeString = format.writeGeometry(e.feature.getGeometry(),
{ dataProjection: 'EPSG:4326', featureProjection: 'EPSG:3857', rightHanded: false });
this.featureGeometry = e.feature.getGeometry().getCoordinates();
if (!this.cancelClick) {
this.savePolygon(this.featureGeometry[0]);
}
});

我在'drawend'上得到一个错误,上面说…

没有重载匹配这个调用。最后一次重载给出了以下错误。类型为'string'的参数不能赋值给类型为'("error"|"change"|"propertychange"|"变化:active"|"drawstart"|"drawend"|"drawabort" [] .ts (2769)

…在e.feature上有一个错误,上面写着

属性'feature'不存在类型'Draw'

对于drawend,我看到它仍然可用,我不知道是什么坏了,为什么,以及如何修复它。对于e.f feature, olDrawEvent似乎是错误的对象,但olDraw也是如此??我不明白OpenLayers想让我在这里做什么,也没有例子来展示我能找到的类似功能?

任何帮助都是非常感激的!

如果你像我一样导入Draw和DrawEvent…

import olDraw from 'ol/interaction/Draw.js';
import olDrawEvent from 'ol/interaction/Draw';

将您的import更改为…

import  Draw, { DrawEvent }  from 'ol/interaction/Draw'; 

并将所有对象更改为新实例。

相关内容

  • 没有找到相关文章

最新更新