簡體   English   中英

我的復選框不顯示要素圖層

[英]My check box does not show the feature layer

這是我的代碼

else if(which == "abc"){  
        var d = (id).toString();  
        d = d.replace("abc", "");  
        query.where = "Name='" + d + "'";  
        console.info(query.where);  
        query.returnGeometry = true;  
        layerC.selectFeatures(query, FeatureLayer.SELECTION_NEW, function (features) {  
          thePoly = features[0].geometry;  
          theExtent = thePoly.getExtent().expand(1); //Zoom out slightly from the polygon's extent  
          map.setExtent(theExtent);  
        }); 

    }
     var text;
     var R = document.getElementById('abc').value;
     var rLyrToggle = dom.byId("rLyr");

     switch(Cpt) {
case "room1":
    on(rLyrToggle, "change", function() {
      building layer.visible = rLyrToggle.checked;

    });
    break;

default:
    text = "No room";
}

我的復選框未顯示將圖層添加到地圖后的圖層,但我禁用了它的可見性,我希望當combox選擇的值等於情況1時,當用戶選中該框時該功能可見

好吧,要從GIS層查找所有值(如注釋中所述),我建議使用queryTask而不是esriRequest

以下是工作代碼-

 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"> <title>Query State Info without Map</title> <script src="https://js.arcgis.com/3.20/"></script> <script> require([ "dojo/dom", "dojo/on", "esri/tasks/query", "esri/tasks/QueryTask", "dojo/domReady!" ], function (dom, on, Query, QueryTask) { var queryTask = new QueryTask("https://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/5"); var query = new Query(); query.returnGeometry = false; query.outFields = [ "SQMI", "STATE_NAME", "STATE_FIPS", "SUB_REGION", "STATE_ABBR", "POP2000", "POP2007", "POP00_SQMI", "POP07_SQMI", "HOUSEHOLDS", "MALES", "FEMALES", "WHITE", "BLACK", "AMERI_ES", "ASIAN", "OTHER", "HISPANIC", "AGE_UNDER5", "AGE_5_17", "AGE_18_21", "AGE_22_29", "AGE_30_39", "AGE_40_49", "AGE_50_64", "AGE_65_UP" ]; on(dom.byId("execute"), "click", execute); on(dom.byId("findAll"), "click", findAll); function execute () { query.where = ""; query.text = dom.byId("stateName").value; queryTask.execute(query, showResults); } function findAll () { query.where = "1=1"; queryTask.execute(query, showResults); } function showResults (results) { var resultItems = []; var resultCount = results.features.length; for (var i = 0; i < resultCount; i++) { var featureAttributes = results.features[i].attributes; for (var attr in featureAttributes) { resultItems.push("<b>" + attr + ":</b> " + featureAttributes[attr] + "<br>"); } resultItems.push("<br>"); } dom.byId("info").innerHTML = resultItems.join(""); } }); </script> </head> <body> US state name : <input type="text" id="stateName" value="California"> <input id="execute" type="button" value="Get Details"> OR <input id="findAll" type="button" value="Find All"> <br /> <br /> <div id="info" style="padding:5px; margin:5px; background-color:#eee;"> </div> </body> </html> 

希望這對您有幫助:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM