1
我想删除我在js类中添加的地图的交互,但是当我尝试删除其他类中的交互时,我不知道该如何操作,因为我无法访问中,我需要的类交互对象.....OL3删除拖动框交互
我有这样的代码(我加的互动):
...
var dragBox = new ol.interaction.DragBox({
condition: ol.events.condition.always,
style: new ol.style.Style({
stroke: new ol.style.Stroke({
color: [0, 0, 255, 1]
})
})
});
mapa.addInteraction(dragBox);
dragBox.on('boxend', function(e) {
if (capaActiva != null) {
var info = [];
var extent = dragBox.getGeometry().getExtent();
var ext = extent.toString().split(',');
var ext1 = ext[0];
var ext2 = ext[1];
var ext3 = ext[2];
var ext4 = ext[3];
var tfn = ol.proj.getTransform('EPSG:3857', 'EPSG:4326');
var textent = ol.extent.applyTransform([ext1, ext2, ext3, ext4], tfn).toString();
...
一个js的类删除互动:
...
cerrar: function(){
mapa.removeInteraction(dragBox);
}
...
在第二类I o出现错误:
dragBox is not defined
如何访问和删除第二类中的交互?
是的,谢谢,但我想在我的应用程序关闭一个窗口时删除交互,为此我不能把变量放在这个类中,我需要在窗口类中的变量,我该怎么做? – davids182009
你可能想考虑你的应用程序是如何构造的,因为一般来说全局变量很糟糕。但是,如果你做window.dragBox = ....这将使它在全球范围内可用 – noveyak