簡體   English   中英

OL6 抓圖結束

[英]Catch the end of drawing in 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”|“change:active”|“drawstart”|“drawend”|“drawabort”)[]'.ts (2769)

...還有一個關於 e.feature 的錯誤,上面寫着

“繪圖”類型不存在屬性“特征”

對於 drawend,我看到它仍然可用,但我不知道是什么問題、原因以及如何修復它。 對於 e.feature olDrawEvent 似乎使用了錯誤的 object 但 olDraw 也是如此嗎? 我不明白 OpenLayers 要我在這里做什么,也沒有我能找到的示例來展示類似的功能?

任何幫助是極大的贊賞!!

如果您像我一樣導入 Draw 和 DrawEvent ...

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

將您的導入更改為...

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

並將所有對象更改為新實例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM