[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