微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我有这个按钮:

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 类实例,则可以直接更改范围属性。如果无法访问它,您可以通过地图控件数组访问它,然后直接更改范围属性。这是一个经过测试的示例:

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


map.addControl(zoomToExtentControl);

zoomToExtentControl.extent = [0,0];

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。