OpenLayers - 激活 ol.control 功能

问题描述

我想激活我的 ol.control.ZoomToExtent 功能,就像它被点击一样。给变量一个 id 然后使用 "id".click(); 不起作用。 variable.click(); 也没有。

有人知道怎么做吗?

var zoomToSearch = new ol.control.ZoomToExtent({
    extent: "",className: 'zoomToSearch',zoom: 10
});

zoomToSearch.id = "zoomToSearchId"

map.addControl(zoomToSearch);

function() {
    zoomToSearch.click();
}

解决方法

您需要模拟对控件按钮元素的点击

  var element = document.getElementsByClassName('zoomToSearch')[0];
  var button = element.getElementsByTagName('button')[0];
  button.click();