找到调用弹出窗口的层

108
1
跳到解决方案
12-14-2022 08:52 PM
NatAlex
通过
新的因素

你好,

我有不同类型的层添加到我的地图,我如何才能找到哪个层调用了弹出框,我使用watchUtils来查找当弹出框是可见的,但我无法找到哪个层调用了弹出框

watchUtils.when(视图。popup, "visible", function(evt){//Code});

我使用的是Arcgis Javascript 4.24版本。请指导我如何才能找到图层信息

标签(3)
1解决方案

接受的解决方案
ReneRubalcava
通过
经常贡献者II

你可能有几种方法可以做到这一点,但其中一种是使用反应式效用器。

https://developers.arcgis.com/javascript/latest/api-reference/esri-core-reactiveUtils.html

你可以观看弹出窗口的可见道具,然后是selectedFeature,并检查该特征来自哪个层。

Watch (() => view.popup。可见,()=> {watch(() => view.popup。selectedFeature, (selectedFeature) => console.log("源层",selectedFeature.layer), {once: true});});

下面是一个示例,展示如何使用它。

https://codepen.io/odoe/pen/GRGVBgr?editors=1000

你甚至不需要看弹出窗口可见,只看selectedFeature,但如果你分页,它并不总是打开弹出窗口的那个。

在原帖子中查看解决方案

1回复
ReneRubalcava
通过
经常贡献者II

你可能有几种方法可以做到这一点,但其中一种是使用反应式效用器。

https://developers.arcgis.com/javascript/latest/api-reference/esri-core-reactiveUtils.html

你可以观看弹出窗口的可见道具,然后是selectedFeature,并检查该特征来自哪个层。

Watch (() => view.popup。可见,()=> {watch(() => view.popup。selectedFeature, (selectedFeature) => console.log("源层",selectedFeature.layer), {once: true});});

下面是一个示例,展示如何使用它。

https://codepen.io/odoe/pen/GRGVBgr?editors=1000

你甚至不需要看弹出窗口可见,只看selectedFeature,但如果你分页,它并不总是打开弹出窗口的那个。