使用ol/interaction/Modify
对象可以修改已经添加到图层上的几何图形,使用起来很简单,首先创建一个Modify
对象,然后再使用Map
的addInteraction
方法添加该对象,然后将鼠标移动到已经绘制好的线条或点上面,再移动鼠标,可以对图形进行修改。按住Alt
键时,再点击鼠标,可以删除选中的点。
var modify = new ol.interaction.Modify({
source:sourse
})
map.addInteraction(modify);
属性
- condition:设置一个函数,在修改时监听点击事件,返回一个布尔值表示是否处理该点击事件。比如返回
false
时,选中点后,点击选中的点再移动鼠标时将不处理移动事件。- deleteCondition:设置一个函数,返回一个布尔值是否执行删除的操作。
- insertVertexCondition:设置一个函数,返回一个布尔值表示是否添加新的点。比如我们在编辑多边形时,点击多边形上的线条时,默认是可以在点击的位置添加一个点。如果返回值为
false
,不会添加新的坐标点。- pixelTolerance:设置捕捉点的像素差,如果设置的很大,离坐标点很远也能捕捉到点,默认值 为
10px
。
方法
- removePoint:删除当前正编辑的点。
事件
- modifystart:编辑开始时触发。
- modifyend:编辑结束时触发。
个人博客
网友评论