gpt4 book ai didi

drag-and-drop - 如何在 Open Layers 3 中拖动要素?

转载 作者:行者123 更新时间:2023-12-04 15:11:05 25 4
gpt4 key购买 nike

在 OL3 示例中,我可以将对象拖放到 map 上,但我想要 移动/调整大小/旋转 map 上已有的东西 像 ol.geom.Point 和其他 ol.geom 对象。 OL3 的方法是什么?

OL2 中的示例:

OpenLayers.Control.DragFeature(layer)

最佳答案

不知道为什么 example在OL3网站上是如此复杂。使用 new ol.interaction.Modify 可以轻松实现拖动矢量对象.

enter image description here

这是一个更简单的工作示例:jsFiddle

简而言之,如果您的标记是:

var pointFeature = new ol.Feature(new ol.geom.Point([0, 0]));

您可以将修改交互定义为:
var dragInteraction = new ol.interaction.Modify({
features: new ol.Collection([pointFeature]),
style: null
});

map.addInteraction(dragInteraction);

然后,您可以获得一个事件,用于在拖动后获取标记的新位置,如下所示:
pointFeature.on('change',function(){
console.log('Feature Moved To:' + this.getGeometry().getCoordinates());
},pointFeature);

关于drag-and-drop - 如何在 Open Layers 3 中拖动要素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24605100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com