如何在 openlayers 按钮中使用变量?
How do I use a variable in an openlayers button?
我有这个按钮:
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 class 实例,您可以直接更改范围 属性。如果没有访问权限,可以通过地图控件数组访问它,再次直接更改范围属性。这是一个测试示例:
const zoomToExtentControl = new ZoomToExtent({
extent: [
-1013450.0281739295,
3594671.9021477713,
6578887.117336057,
10110775.689402476
],
label: "Z"
});
map.addControl(zoomToExtentControl);
zoomToExtentControl.extent = [0, 0, 0, 0];
如果这回答了您的问题,请告诉我。
我有这个按钮:
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 class 实例,您可以直接更改范围 属性。如果没有访问权限,可以通过地图控件数组访问它,再次直接更改范围属性。这是一个测试示例:
const zoomToExtentControl = new ZoomToExtent({
extent: [
-1013450.0281739295,
3594671.9021477713,
6578887.117336057,
10110775.689402476
],
label: "Z"
});
map.addControl(zoomToExtentControl);
zoomToExtentControl.extent = [0, 0, 0, 0];
如果这回答了您的问题,请告诉我。