获取要素的哪个顶点已修改

时间:2014-05-06 13:54:15

标签: events openlayers

我试图获取功能的哪个顶点已被修改。似乎featuremodified事件不提供此信息。

这很重要,因为我必须将修改发布到服务器。我不想发布整个特征对象,因为只有一个顶点变化。

我正在使用OpenLayers v2.13.1

1 个答案:

答案 0 :(得分:1)

你需要挂钩OpenLayers.Layer.Vector的vertexmodified回调。这是由OpenLayers.Control.ModifyFeature的dragVertex函数触发的,请参见此处第479行http://trac.osgeo.org/openlayers/browser/trunk/openlayers/lib/OpenLayers/Control/ModifyFeature.js

vertexmodified函数接收一个顶点,一个特征和一个像素,所以你会写这样的东西,假设一个名为vector的OpenLayers.Layer.Vector:

vector.events.register('vertexmodified', this, function(vertex, feature, pixel){
    //do something with the vertex
});