adding limited support for reading SimpleData from KML ExtendedData SchemaData, keeping structure the same as current ExtendedData support, patch=joh, r=me (closes #2062)

git-svn-id: http://svn.openlayers.org/trunk/openlayers@9795 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
bartvde
2009-11-12 15:28:20 +00:00
parent 1b95a25ee1
commit 12c83b533d
2 changed files with 57 additions and 4 deletions

View File

@@ -884,16 +884,17 @@ OpenLayers.Format.KML = OpenLayers.Class(OpenLayers.Format.XML, {
/**
* Method: parseExtendedData
* Parse ExtendedData from KML. No support for schemas/datatypes.
* Parse ExtendedData from KML. Limited support for schemas/datatypes.
* See http://code.google.com/apis/kml/documentation/kmlreference.html#extendeddata
* for more information on extendeddata.
*/
parseExtendedData: function(node) {
var attributes = {};
var i, len, data, key;
var dataNodes = node.getElementsByTagName("Data");
for (var i = 0, len = dataNodes.length; i < len; i++) {
var data = dataNodes[i];
var key = data.getAttribute("name");
for (i = 0, len = dataNodes.length; i < len; i++) {
data = dataNodes[i];
key = data.getAttribute("name");
var ed = {};
var valueNode = data.getElementsByTagName("value");
if (valueNode.length) {
@@ -905,6 +906,16 @@ OpenLayers.Format.KML = OpenLayers.Class(OpenLayers.Format.XML, {
}
attributes[key] = ed;
}
var simpleDataNodes = node.getElementsByTagName("SimpleData");
for (i = 0, len = simpleDataNodes.length; i < len; i++) {
var ed = {};
data = simpleDataNodes[i];
key = data.getAttribute("name");
ed['value'] = this.getChildValue(data);
ed['displayName'] = key;
attributes[key] = ed;
}
return attributes;
},