Openlayers 3 如何使用OpenLayers3绘制单线?

Openlayers 3 如何使用OpenLayers3绘制单线?,openlayers-3,Openlayers 3,在本例中,可以使用线型字符串类型绘制路径: 我想做同样的事情,但是在两点之间只有一条直线。设置第二个点后,绘图工具应自动完成绘图 如何实现这一点?我刚刚将一个提交合并到主分支中,以解决您的用例。看 通过此提交,您可以通过编程方式完成绘图。以下代码段显示了当直线有两个顶点时如何终止该直线: var-listenerKey; drawInteraction.on('drawstart',函数(e){ var特征=e特征; var lineString=feature.getGeometry();

在本例中,可以使用线型字符串类型绘制路径:

我想做同样的事情,但是在两点之间只有一条直线。设置第二个点后,绘图工具应自动完成绘图


如何实现这一点?

我刚刚将一个提交合并到主分支中,以解决您的用例。看

通过此提交,您可以通过编程方式完成绘图。以下代码段显示了当直线有两个顶点时如何终止该直线:

var-listenerKey;
drawInteraction.on('drawstart',函数(e){
var特征=e特征;
var lineString=feature.getGeometry();
//当线串有两个顶点时,完成绘制
listenerKey=lineString.on('change',函数(e){
var lineString=e.target;
var顶点=lineString.getCoordinates();
如果(顶点长度==3){
drawInteraction.finishDrawing();
}
});
});
drawInteraction.on('draund',函数(e){
ol.可观察的unByKey(listenerKey);
});

我刚刚在主分支中合并了一个提交,用于处理您的用例。看

通过此提交,您可以通过编程方式完成绘图。以下代码段显示了当直线有两个顶点时如何终止该直线:

var-listenerKey;
drawInteraction.on('drawstart',函数(e){
var特征=e特征;
var lineString=feature.getGeometry();
//当线串有两个顶点时,完成绘制
listenerKey=lineString.on('change',函数(e){
var lineString=e.target;
var顶点=lineString.getCoordinates();
如果(顶点长度==3){
drawInteraction.finishDrawing();
}
});
});
drawInteraction.on('draund',函数(e){
ol.可观察的unByKey(listenerKey);
});

我刚刚在主分支中合并了一个提交,用于处理您的用例。看

通过此提交,您可以通过编程方式完成绘图。以下代码段显示了当直线有两个顶点时如何终止该直线:

var-listenerKey;
drawInteraction.on('drawstart',函数(e){
var特征=e特征;
var lineString=feature.getGeometry();
//当线串有两个顶点时,完成绘制
listenerKey=lineString.on('change',函数(e){
var lineString=e.target;
var顶点=lineString.getCoordinates();
如果(顶点长度==3){
drawInteraction.finishDrawing();
}
});
});
drawInteraction.on('draund',函数(e){
ol.可观察的unByKey(listenerKey);
});

我刚刚在主分支中合并了一个提交,用于处理您的用例。看

通过此提交,您可以通过编程方式完成绘图。以下代码段显示了当直线有两个顶点时如何终止该直线:

var-listenerKey;
drawInteraction.on('drawstart',函数(e){
var特征=e特征;
var lineString=feature.getGeometry();
//当线串有两个顶点时,完成绘制
listenerKey=lineString.on('change',函数(e){
var lineString=e.target;
var顶点=lineString.getCoordinates();
如果(顶点长度==3){
drawInteraction.finishDrawing();
}
});
});
drawInteraction.on('draund',函数(e){
ol.可观察的unByKey(listenerKey);
});

您还可以在ol.interaction.Draw中设置
maxPoints:2


(我猜是从原始答案开始添加的)

您也可以在ol.interaction.Draw中设置
maxPoints:2


(我猜是从原始答案开始添加的)

您也可以在ol.interaction.Draw中设置
maxPoints:2


(我猜是从原始答案开始添加的)

您也可以在ol.interaction.Draw中设置
maxPoints:2


(我猜它是从原始答案开始添加的)

是否可以在3.0版中模拟此finishDrawing()函数?是否可以在3.0版中模拟此finishDrawing()函数?是否可以在3.0版中模拟此finishDrawing()函数?是否可以模拟此finishDrawing()函数是否在版本3.0中运行?