如何处理openlayers绘制多边形事件
how to handle openlayers draw polygon event
我在我的OpenLayers应用程序中有这样的绘制控件。
var drawControls = {
polygon: new OpenLayers.Control.DrawFeature(polygonLayer, OpenLayers.Handler.Polygon),
box: new OpenLayers.Control.DrawFeature(boxLayer, OpenLayers.Handler.RegularPolygon,{
handlerOptions: {
sides: 4,
irregular: true
}
})
};
我正在用控件的激活功能激活这个控件。
var control = drawControls[selected.key];
control.activate();
在地图上绘制多边形。但是我无法访问这个控件的事件。例如,在绘制结束事件应该给我一个多边形或框。
下面是一个使用控件的featureadded
事件的例子。
// Add a polygon layer to which polygons will be drawn.
var polygonLayer = new OpenLayers.Layer.Vector("Polygon Layer", {
projection: "EPSG:4326"
});
map.addLayers([polygonLayer]);
// Initialize the polygon editor.
var polygonEditor = new OpenLayers.Control.DrawFeature(polygonLayer,
OpenLayers.Handler.Polygon);
// And its event listener when the feature is added.
polygonEditor.events.register('featureadded', polygonEditor, function(evt) {
// Here, you should see the geometry of the drawn feature in your console.
var geom = evt.feature.geometry;
console.log(geom);
});
和一个小提琴样本
相关文章:
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 如何在OpenLayers中获取动态绘制的多边形的坐标
- 绘制动画openlayers线条字符串路径
- 如何在OpenLayers中沿道路绘制直线
- OpenLayers徒手绘制多边形,起点没有弹性线
- OpenLayers 3 使用捕捉进行绘制和修改
- 在地图上绘制图标,基于用户's在Openlayers 3中的输入
- 如何在鼠标释放时在Openlayers中完成徒手绘制
- OpenLayers-绘制具有精确点数的多边形
- Openlayers-在地图上绘制字符串
- 强制OpenLayers标记层在上面绘制,并在下面标记层
- 在OpenLayers Vector中绘制每个点后触发事件
- 在OpenLayers中获取绘制特征的坐标
- 如何处理openlayers绘制多边形事件
- 在图像图层OpenLayers 2中以EPSG:4326坐标中心绘制圆
- Openlayers 3绘制的圆比线小
- OpenLayers 3不绘制多边形
- 如何绘制动画openlayers linestring路径
- 如何在使用OpenLayers 3绘制多边形后获得多边形的点
- OpenLayers不能在map上绘制geoJSON