【发布时间】:2016-03-11 16:02:11
【问题描述】:
我有一张地图,用户可以在其中选择地图上的一些对象/功能,然后画一条线到另一个对象/功能。当用户选择该功能时,我想添加一个绘图交互并已将第一个点设置为所选功能,而无需用户再次单击地图。
这是一个小提琴:Sample
下面的注释代码应该在按下绘图按钮后以编程方式执行,无需用户交互
geometryFunction: function (c, g) {
if (goog.isDef(g)) {
g.setCoordinates(c);
} else {
// DO THIS AUTOMATICALLY ON PRESSING DRAW
// TO INITIALIZE AND START THE DRAWING PROCESS
c[0][0] = 1174072.754460305;
c[0][1] = 332653.94709708635;
g = new ol.geom.LineString(c);
}
...
}
当前的行为是您单击“绘图”按钮,然后可以单击地图开始绘图(但我用我想要的起始位置覆盖了第一个节点——在这个例子中靠近中非)
是否可以点击Draw并且已经以编程方式设置了第一个节点,而不必先点击地图?
【问题讨论】:
-
前段时间我非常绝望,使用 ol3 私有方法 startDrawing_() 做到了。如果你有兴趣,我可以分享我的代码。
-
是的,我很想知道你是如何做到这一点的,因为它对我的目的来说是一个至关重要的功能。
标签: openlayers-3