gpt4 book ai didi

ArcGis javascript api 3.5 如何设置要素层的可见性

转载 作者:行者123 更新时间:2023-12-01 06:16:10 25 4
gpt4 key购买 nike

我正在使用 ArcGis javascript api 3.5,我的代码是

 map = new esri.Map("mapDiv", {
basemap: "streets",
center: [-112.07102547942392, 46.75909704205151],
zoom: 12,
slider: false,
infoWindow: infoWindow
});




var featureLayer = new esri.layers.FeatureLayer("http:/abc/arcgis/rest/services/MTARNG/MapServer/1", {
mode: esri.layers.FeatureLayer.MODE_SNAPSHOT,
infoTemplate: templateFuze,
outFields: ["*"]
});
var featureLayer1 = new esri.layers.FeatureLayer("http://abc/arcgis/rest/services/MTARNG/MapServer/0", {
mode: esri.layers.FeatureLayer.MODE_SNAPSHOT,
infoTemplate: templateParcel,
outFields: ["*"]
});
var featureLayer2 = new esri.layers.FeatureLayer("http://abc/arcgis/rest/services/MTARNG/MapServer/2", {
mode: esri.layers.FeatureLayer.MODE_SNAPSHOT,
infoTemplate: templateGrid,
outFields: ["*"]
});

Ext.create('Ext.form.Panel', {
width: 400,
height: 600,
bodyPadding: 10,
renderTo: Ext.get('LayerDiv'),
items: [{
xtype: 'checkboxgroup',
columns: 1,
vertical: true,
items: layerInfo,
listeners: {

change: {
fn: function (checkbox, checked) {
for (var i = 0; i < checkbox.items.items.length; i++) {
if (checkbox.items.items[i].checked) {
//visible true checkbox.items.items[0].boxLabel

}
else {
//visible false
}
}
}
}
}
}]
});

});

所以我想设置图层的可见性,但我做不到。之后如何刷新 map ?

我得到了一些功能,但它正在工作,例如- visibleAtMapScale = false,defaultVisibility = false 并且为了刷新我只得到了 map.resize=true;

我还可以尝试什么来实现此功能。

最佳答案

您可以使用 hide() 和 show() 函数更改层的可见性 - FeatureLayer 从 GraphicsLayuer 继承它们(从 Layer 继承它们)。所以在你的例子中,给定的 featureLayer 是一个全局变量,当事件触发时它应该在范围内,所以你可以这样做:

featureLayer.hide();

featureLayer.show();

您不需要刷新 map ,它会自动发生。

西蒙

关于ArcGis javascript api 3.5 如何设置要素层的可见性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17045903/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com