Javascript 如何在openlayers按钮中使用变量?

Javascript 如何在openlayers按钮中使用变量?,javascript,variables,button,openlayers,extent,Javascript,Variables,Button,Openlayers,Extent,我有这个按钮: function initMap() { map.addControl(zoomToExtentControl); }; zoomToExtentControl = new ol.control.ZoomToExtent({ extent: routeExtent, className: 'custom-zoom-extent', label: 'Z' }); routeExtent在globals.js中定义为 var routeExtent = [-10134

我有这个按钮:

function initMap() {
map.addControl(zoomToExtentControl);
};

zoomToExtentControl = new ol.control.ZoomToExtent({
  extent: routeExtent,
  className: 'custom-zoom-extent',
  label: 'Z'
});
routeExtent在globals.js中定义为

var routeExtent = [-1013450.0281739295, 3594671.9021477713, 6578887.117336057, 10110775.689402476];

initMap中的其他位置会计算routeExtent的新值,但按钮只会缩放到globals.js中定义的预设范围,如何更改此范围?

如果您有权访问ZoomToExtent类实例,则可以直接更改范围属性。如果您没有访问权限,可以通过map controls数组访问它,然后再次直接更改extent属性。下面是一个经过测试的示例:

const zoomToExtentControl = new ZoomToExtent({
  extent: [
    -1013450.0281739295,
    3594671.9021477713,
    6578887.117336057,
    10110775.689402476
  ],
  label: "Z"
});


map.addControl(zoomToExtentControl);

zoomToExtentControl.extent = [0, 0, 0, 0];

如果这回答了您的问题,请告诉我。

如果您有权访问ZoomToExtent类实例,则可以直接更改扩展属性。如果您没有访问权限,可以通过map controls数组访问它,然后再次直接更改extent属性。下面是一个经过测试的示例:

const zoomToExtentControl = new ZoomToExtent({
  extent: [
    -1013450.0281739295,
    3594671.9021477713,
    6578887.117336057,
    10110775.689402476
  ],
  label: "Z"
});


map.addControl(zoomToExtentControl);

zoomToExtentControl.extent = [0, 0, 0, 0];

如果这能回答您的问题,请告诉我。

是的,这很有效!谢谢:)是的,这很有效!谢谢:)