Openlayers 3 更改要素几何图形时如何通知?

Openlayers 3 更改要素几何图形时如何通知?,openlayers-3,Openlayers 3,ol.Feature的文档说明它触发“更改:几何体”事件。文档未指定何时触发此事件 下面是使用ol.interaction.Translate移动向量特征的示例。移动特征时,会触发“更改”事件,但不会触发“更改:几何体”事件 通知要素几何图形已更新的正确方式是什么 代码: 如果您更改几何体对象,即,如果您更改了:feature.setGeometry(aNewGeomObj),feature.setGeometry(null),等等,则change:geometry事件将在特征级别发生 您要查找

ol.Feature的文档说明它触发“更改:几何体”事件。文档未指定何时触发此事件

下面是使用ol.interaction.Translate移动向量特征的示例。移动特征时,会触发“更改”事件,但不会触发“更改:几何体”事件

通知要素几何图形已更新的正确方式是什么

代码:


如果您更改几何体对象,即,如果您更改了:
feature.setGeometry(aNewGeomObj)
feature.setGeometry(null)
,等等,则
change:geometry
事件将在特征级别发生

您要查找的是侦听几何体对象本身的
更改
事件。您可以这样做:

var geometry = feature.getGeometry();
geometry.on('change', function(evt) {
  console.log(evt)
}, this);

您应该能够从那里做您想做的事情。

很遗憾,您无法获得与“propertychange”事件相同的信息,在该事件中,它提供了旧值和更改的对象。接下来,在OpenLayers API页面上,Fire“change:geometry”是什么意思?请参见答案的第一段。
var geometry = feature.getGeometry();
geometry.on('change', function(evt) {
  console.log(evt)
}, this);