OpenLayers 2:仅用两点绘制路径

OpenLayers 2: draw path with only two points

我想画一条不超过2个点的路径。关于第二点,我希望路径完成。

任何人都可以帮助我如何在 openlayers 2 中实现此功能。

我试过这段代码,但它给出了错误,尽管线条创建得很好。

        _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();