簡體   English   中英

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM