三个图层的查询结果想放在一个框里,不要分开显示 应该怎么设置。

解决方案 »

  1.   

     // 在infoWindow中显示Identify结果
                 function addToMap(idResults, geometry) {
                     layer2results = { displayFieldName: null, features: [] };
                     layer1results = { displayFieldName: null, features: [] };
                     layer0results = { displayFieldName: null, features: [] };
                     for (var i = 0, il = idResults.length; i < il; i++) {
                         var idResult = idResults[i];
                         if (idResult.layerId === 2) {
                             if (!layer2results.displayFieldName) {
                                 layer2results.displayFieldName = idResult.displayFieldName;
                             }
                             layer2results.features.push(idResult.feature);
                         } else if (idResult.layerId === 1) {
                             if (!layer1results.displayFieldName) {
                                 layer1results.displayFieldName = idResult.displayFieldName;
                             }
                             layer1results.features.push(idResult.feature);
                         } else if (idResult.layerId === 0) {
                             if (!layer0results.displayFieldName) {
                                 layer0results.displayFieldName = idResult.displayFieldName;
                             }
                             layer0results.features.push(idResult.feature);
                         }
                     }
                     registry.byId("layer2Tab").setContent(layerTabContent(layer2results, "layer2results"));
                     registry.byId("layer1Tab").setContent(layerTabContent(layer1results, "layer1results"));
                     registry.byId("layer0Tab").setContent(layerTabContent(layer0results, "layer0results"));                 // 设置infoWindow显示
                     var firstPt;
                     if (geometry.type == "point")
                         firstPt = geometry;
                     else
                         firstPt = geometry.getPoint(0, 0);
                     var screenPoint = screenUtils.toScreenPoint(map.extent, map.width, map.height, firstPt);
                     map.infoWindow.show(screenPoint, map.getInfoWindowAnchor(screenPoint));
                 }             function layerTabContent(layerResults, layerName) {
                     var content = "<i>选中要素数目为:" + layerResults.features.length + "</i>";
                     switch (layerName) {
                         case "layer2results":
                             content += "<table border='1'><tr><th>ID</th><th>州名</th><th>面积</th></tr>";
                             for (var i = 0, il = layerResults.features.length; i < il; i++) {
                                 content += "<tr><td>" + layerResults.features[i].attributes['FID'] + " <a href='#' onclick='showFeature(" + layerName + ".features[" + i + "]); return false;'>(显示)</a></td>";
                                 content += "<td>" + layerResults.features[i].attributes['STATE_NAME'] + "</td>";
                                 content += "<td>" + layerResults.features[i].attributes['AREA'] + "</td>";
                             }
                             content += "</tr></table>";
                             break;
                         case "layer1results":
                             content += "<table border='1'><tr><th>ID</th><th>名称</th></tr>";
                             for (var i = 0, il = layerResults.features.length; i < il; i++) {
                                 content += "<tr><td>" + layerResults.features[i].attributes['FID'] + " <a href='#' onclick='showFeature(" + layerName + ".features[" + i + "]); return false;'>(显示)</a></td>";
                                 content += "<td>" + layerResults.features[i].attributes['NAME'] + "</td>";
                             }
                             content += "</tr></table>";
                             break;
                         case "layer0results":
                             content += "<table border='1'><tr><th>ID</th><th>名称</th><th>州名</th><th>人口</th></tr>";
                             for (var i = 0, il = layerResults.features.length; i < il; i++) {
                                 content += "<tr><td>" + layerResults.features[i].attributes['FID'] + " <a href='#' onclick='showFeature(" + layerName + ".features[" + i + "]); return false;'>(显示)</a></td>";
                                 content += "<td>" + layerResults.features[i].attributes['CITY_NAME'] + "</td>";
                                 content += "<td>" + layerResults.features[i].attributes['STATE_NAME'] + "</td>";
                                 content += "<td>" + layerResults.features[i].attributes['POP1990'] + "</td>";
                             }
                             content += "</tr></table>";
                             break;
                     }
                     return content;
                 }
             });     // 高亮显示选中元素
         function showFeature(feature) {
             map.graphics.clear();
             var symbol;
             // 将几何对象加入到地图中
             switch (feature.geometry.type) {
                 case "point":
                     symbol = pointSym;
                     break;
                 case "polyline":
                     symbol = lineSym;
                     break;
                 case "polygon":
                     symbol = polygonSym;
                     break;
             }         feature.setSymbol(symbol);
             map.graphics.add(feature);
         }
           </script>
    </head>
    <body class="claro">
        <button data-dojo-type="dijit/form/Button">点</button>
        <button data-dojo-type="dijit/form/Button">线</button>
        <button data-dojo-type="dijit/form/Button">多边形</button>
        <div id="mapDiv" style="width:900px; height:600px; border:1px solid #000;"></div>
        
        <!-- info window tabs -->
        <div id="tabs" data-dojo-type="dijit/layout/TabContainer" style="width:385px;height:150px;">
          <div id="layer2Tab" data-dojo-type="dijit/layout/ContentPane" title="州"></div>
          <div id="layer1Tab" data-dojo-type="dijit/layout/ContentPane" title="河流"></div>
          <div id="layer0Tab" data-dojo-type="dijit/layout/ContentPane" title="城市"></div>
        </div>
    </body>
    </html>这是源码的后面的部分,不知道应该调整哪里 新手一枚 见谅