[mapguide-commits] r7479 - sandbox/jng/queryfeatures_v2/Web/src/viewerfiles

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Wed May 8 04:40:41 PDT 2013


Author: jng
Date: 2013-05-08 04:40:41 -0700 (Wed, 08 May 2013)
New Revision: 7479

Modified:
   sandbox/jng/queryfeatures_v2/Web/src/viewerfiles/ajaxmappane.templ
Log:
Update the AJAX viewer side to handle the update response structure.

Modified: sandbox/jng/queryfeatures_v2/Web/src/viewerfiles/ajaxmappane.templ
===================================================================
--- sandbox/jng/queryfeatures_v2/Web/src/viewerfiles/ajaxmappane.templ	2013-05-08 11:37:42 UTC (rev 7478)
+++ sandbox/jng/queryfeatures_v2/Web/src/viewerfiles/ajaxmappane.templ	2013-05-08 11:40:41 UTC (rev 7479)
@@ -3170,7 +3170,7 @@
             if (selection.count > 0)
             {
                 //Check if we have attributes inline
-                var props = xmlIn.getElementsByTagName("PropertyCollection");
+                var props = xmlIn.getElementsByTagName("SelectedLayer");
                 if (props.length > 0) {
                     var resp = ConvertToSelectedFeatureSet(props);
                     ProcessSelectedFeatureSet(resp);
@@ -4157,34 +4157,38 @@
 var selFeatures = {};
 var selBounds = null;
 
-function ConvertToSelectedFeatureSet(propCols)
+function ConvertToSelectedFeatureSet(layerEls)
 {
     var featuresByLayer = {};
-    for (var i = 0; i < propCols.length; i++)
+    for (var i = 0; i < layerEls.length; i++)
     {
-        var feat = { values: [] };
-        var propColEl = propCols[i];
-        var propEls = propColEl.getElementsByTagName("Property");
-        for (var j = 0; j < propEls.length; j++)
+        var layerEl = layerEls[i];
+        var layerName = layerEl.getAttribute("name");
+        if (!featuresByLayer[layerName])
+            featuresByLayer[layerName] = [];
+            
+        var featEls = layerEl.getElementsByTagName("Feature");
+        for (var j = 0; j < featEls.length; j++)
         {
-            //Name,Type,Value
-            var name = msie ? propEls[j].childNodes[0].text : propEls[j].childNodes[0].textContent;
-            var value = msie ? propEls[j].childNodes[2].text : propEls[j].childNodes[2].textContent;
-            if (name == "_MgLayerName")
+            var feat = { values: [] };
+            var featEl = featEls[j];
+            var bounds = featEl.getElementsByTagName("Bounds")[0];
+            var bbox = (msie ? bounds.text : bounds.textContent).split(" ");
+            feat.zoom = { minx: parseFloat(bbox[0]), miny: parseFloat(bbox[1]), maxx: parseFloat(bbox[2]), maxy: parseFloat(bbox[3]) };
+            
+            var propEls = featEl.getElementsByTagName("Property");
+            for (var k = 0; k < propEls.length; k++)
             {
-                if (!featuresByLayer[value])
-                    featuresByLayer[value] = [];
-                featuresByLayer[value].push(feat);
-            }
-            else if (name == "_MgFeatureBoundingBox")
-            {
-                var values = value.split(" ");
-                feat.zoom = { minx: parseFloat(values[0]), miny: parseFloat(values[1]), maxx: parseFloat(values[2]), maxy: parseFloat(values[3]) };
-            }
-            else
-            {
+                var nameEl = propEls[k].getElementsByTagName("Name")[0];
+                var valueEl = propEls[k].getElementsByTagName("Value");
+                //Name,Value
+                var name = msie ? nameEl.text : nameEl.textContent;
+                var value = null;
+                if (valueEl.length == 1)
+                    value = msie ? valueEl[0].text : valueEl[0].textContent;
                 feat.values.push({ name: name, value: value });
             }
+            featuresByLayer[layerName].push(feat);
         }
     }
     return featuresByLayer;



More information about the mapguide-commits mailing list