北京比较好的网站公司,wordpress 405,青柠影视免费高清电视剧,网站seo 文章转载 修改标题文章目录 1 需求描述2 解决方案 1 需求描述
现在有这么一个需求#xff1a;在地图中添加一些图层#xff0c;添加图层列表按钮。打开图层列表后用户会打开某些图层使其可见#xff0c;要求关闭图层列表时#xff0c;隐藏某些图层#xff08;若visibletrue#xff09;
2… 文章目录 1 需求描述2 解决方案 1 需求描述
现在有这么一个需求在地图中添加一些图层添加图层列表按钮。打开图层列表后用户会打开某些图层使其可见要求关闭图层列表时隐藏某些图层若visibletrue
2 解决方案
可以使用 ArcGIS API for JavaScript 的 dojo/on 模块来监听按钮的点击事件控制图层的visible属性。
关键代码
// 添加按钮
var toggleLayerBtn document.getElementById(toggleLayerBtn);
view.ui.add(toggleLayerBtn, top-right);// 监听按钮点击事件若图层可见则关闭
on(toggleLayerBtn, click, function() {if (myFeatureLayer .visible) {myFeatureLayer .visible false;}
});完整代码
!DOCTYPE html
htmlheadmeta charsetutf-8titleArcGIS API for JavaScript: Custom Button to Toggle Layer Visibility/titlelink relstylesheet hrefhttps://js.arcgis.com/4.16/esri/css/main.cssscript srchttps://js.arcgis.com/4.16//script/headbodydiv idmap/divbutton idtoggleLayerBtnToggle Layer/buttonscriptrequire([esri/Map,esri/views/MapView,esri/layers/FeatureLayer,dojo/on, //用于监听按钮点击事件dojo/domReady!], function(Map, MapView, FeatureLayer, on) {// Create the map and set the viewvar map new Map({basemap: topo-vector});var view new MapView({container: map,map: map,center: [0, 0],zoom: 4});// 添加图层var myFeatureLayer new FeatureLayer({url: https://example.com/path/to/feature/layer,title: My Feature Layer,visible: false});map.add(myFeatureLayer );// 添加按钮var toggleLayerBtn document.getElementById(toggleLayerBtn);view.ui.add(toggleLayerBtn, top-right);// 监听按钮点击事件若图层可见则关闭on(toggleLayerBtn, click, function() {if (myFeatureLayer .visible) {myFeatureLayer .visible false;} });});/script/body
/html上面的示例代码首先创建了一个地图和地图视图然后创建了一个FeatureLayer并将其添加到地图中。接下来使用 dojo/on 模块监听按钮的点击事件在点击时检查FeatureLayer是否可见若可见则 myFeatureLayer .visible false。
注意替换 “https://example.com/path/to/feature/layer” 为你的FeatureLayer的 URL。