Javascript OpenLayers 2:仅使用两点绘制路径
我想画一条不超过2点的路径。在第二点上,我希望路径完成 谁能帮助我如何在openlayers 2中实现这个功能 我尝试了这段代码,但它给出了错误,尽管行创建得很好Javascript OpenLayers 2:仅使用两点绘制路径,javascript,openlayers,Javascript,Openlayers,我想画一条不超过2点的路径。在第二点上,我希望路径完成 谁能帮助我如何在openlayers 2中实现这个功能 我尝试了这段代码,但它给出了错误,尽管行创建得很好 _singleLineControl = new OpenLayers.Control.DrawFeature( _singleLineLayer, OpenLayers.Handler.Path, { eventL
_singleLineControl = new OpenLayers.Control.DrawFeature(
_singleLineLayer,
OpenLayers.Handler.Path,
{
eventListeners: { "featureadded": drawingFinished },
callbacks: {
point: function (pointGeometry, lineGeometry) {
var numPoints = lineGeometry.getVertices().length;
if (numPoints == 3) {
this.drawFeature(lineGeometry);
}
}
}
});
viewer.addControl(_singleLineControl);
_singleLineControl.handler.single = true;
_singleLineControl.handler.freehand = false;
_singleLineControl.deactivate();
自己找到了解决方案:)使用maxVertices
// single line drawing control
_singleLineControl = new OpenLayers.Control.DrawFeature(
_singleLineLayer,
OpenLayers.Handler.Path,
{
eventListeners: { "featureadded": drawingFinished },
handlerOptions: {
maxVertices: 2,
single: true,
freehand: false,
}
});
viewer.addControl(_singleLineControl);
_singleLineControl.deactivate();