ESRI JS Sketch窗口小部件:如何在特定比例下禁用

问题描述

我正在尝试找出一种在特定比例下禁用Sketch小部件的方法

当前,我有可以完全添加删除小部件的工作代码,但不满足我的要求。

我看到Sketch窗口小部件具有“状态”属性,但它是只读的,我找不到影响该状态的任何方法或其他属性

我需要能够禁用整个窗口小部件,或者至少禁用所有绘图/编辑工具。

解决方法

禁用小部件按钮的一种方法是将pointer-events样式属性设置为none

所以,假设您的小部件变量为sketch,然后

const buttons = sketch.container.getElementsByTagName("button");
for (let i = 0; i < buttons.length; i++) {
  buttons[i].classList.add("no-click");
}

no-click在其中,

.no-click {
  pointer-events: none !important;
}

我不确定您的实现方式,但是我认为您可以通过这些摘要来了解一下。

请务必在调用getElementsByTagName之前加载窗口小部件,否则将获得0结果。

,

由于用户已经开始在地图上绘制几何图形,因此无法禁用草图工具。

一旦用户激活了地图上的绘图工具,就可以控制地图的缩放行为。我的意思是不允许用户从特定的地图比例缩小(如果工具处于活动状态)。