我是开放图层的新手,我试图与我的地图进行一些互动。我使用ol扩展就像一个longtouch,过了一段时间我想在地图上显示fetaure。它可以正常使用此扩展,但问题是它在释放单击后显示。
有没有办法在释放点击后显示指针下降事件的附加功能?。
这里有一个例子。 http://viglino.github.io/ol-ext/examples/mobile/map.interaction.longtouch.html
答案 0 :(得分:1)
真的很奇怪。我重新编写了函数来分解和理解它。即使使用它,Point
功能也只会在pulse
功能之后显示。
这是我的代码:
map.on('pointerdown', function(e){
timeOutVar = setTimeout(test(e), 1000);
});
map.on('pointerup', function(e){
clearTimeout(timeOutVar);
});
function test(e){
var point = new ol.Feature(new ol.geom.Point(e.coordinate));
vector.getSource().addFeature(point);
};
var touchi = new ol.interaction.LongTouch(
{ handleLongTouchEvent: function(e){
pulseFeature(e.coordinate);
setTimeout( function(){
pulseFeature(e.coordinate);
}, 400);
$(".options div").text(vector.getSource().getFeatures().length+" features added!");
}
});
map.addInteraction(touchi);
答案 1 :(得分:1)
问题不在于交互,而在于矢量图层。如果要在交互时反映插入,则必须为图层设置updateWhileInteracting
选项,否则该要素将添加到图层中,但仅在完成时绘制(在鼠标上方)。
我已经更新了处理此案例的示例。