More up-to-date way to create or set namespacedj elements or attributes.
This commit is contained in:
@@ -218,12 +218,11 @@ OpenLayers.Format.GPX = OpenLayers.Class(OpenLayers.Format.XML, {
|
|||||||
write: function(features, metadata) {
|
write: function(features, metadata) {
|
||||||
features = OpenLayers.Util.isArray(features) ?
|
features = OpenLayers.Util.isArray(features) ?
|
||||||
features : [features];
|
features : [features];
|
||||||
var gpx = this.createElementNS(this.namespaces["gpx"], "gpx");
|
var gpx = this.createElementNSPlus("gpx:gpx");
|
||||||
gpx.setAttribute("version", "1.1");
|
gpx.setAttribute("version", "1.1");
|
||||||
this.setAttributeNS(
|
this.setAttributes(gpx, {
|
||||||
gpx, this.namespaces["xsi"],
|
"xsi:schemaLocation": this.schemaLocation
|
||||||
"xsi:schemaLocation", this.schemaLocation
|
});
|
||||||
);
|
|
||||||
|
|
||||||
if (metadata && typeof metadata == 'object') {
|
if (metadata && typeof metadata == 'object') {
|
||||||
gpx.appendChild(this.buildMetadataNode(metadata));
|
gpx.appendChild(this.buildMetadataNode(metadata));
|
||||||
@@ -243,11 +242,11 @@ OpenLayers.Format.GPX = OpenLayers.Class(OpenLayers.Format.XML, {
|
|||||||
*/
|
*/
|
||||||
buildMetadataNode: function(metadata) {
|
buildMetadataNode: function(metadata) {
|
||||||
var types = ['name', 'desc', 'author'],
|
var types = ['name', 'desc', 'author'],
|
||||||
node = this.createElementNS(this.namespaces["gpx"], 'metadata');
|
node = this.createElementNSPlus('gpx:metadata');
|
||||||
for (var i=0; i < types.length; i++) {
|
for (var i=0; i < types.length; i++) {
|
||||||
var type = types[i];
|
var type = types[i];
|
||||||
if (metadata[type]) {
|
if (metadata[type]) {
|
||||||
var n = this.createElementNS(this.namespaces["gpx"], type);
|
var n = this.createElementNSPlus("gpx:" + type);
|
||||||
n.appendChild(this.createTextNode(metadata[type]));
|
n.appendChild(this.createTextNode(metadata[type]));
|
||||||
node.appendChild(n);
|
node.appendChild(n);
|
||||||
}
|
}
|
||||||
@@ -276,7 +275,7 @@ OpenLayers.Format.GPX = OpenLayers.Class(OpenLayers.Format.XML, {
|
|||||||
var wpt = this.buildWptNode(feature);
|
var wpt = this.buildWptNode(feature);
|
||||||
return wpt;
|
return wpt;
|
||||||
} else {
|
} else {
|
||||||
var trkNode = this.createElementNS(this.namespaces["gpx"], "trk");
|
var trkNode = this.createElementNSPlus("gpx:trk");
|
||||||
this.appendAttributesNode(trkNode, feature);
|
this.appendAttributesNode(trkNode, feature);
|
||||||
var trkSegNodes = this.buildTrkSegNode(geometry);
|
var trkSegNodes = this.buildTrkSegNode(geometry);
|
||||||
trkSegNodes = OpenLayers.Util.isArray(trkSegNodes) ?
|
trkSegNodes = OpenLayers.Util.isArray(trkSegNodes) ?
|
||||||
@@ -304,7 +303,7 @@ OpenLayers.Format.GPX = OpenLayers.Class(OpenLayers.Format.XML, {
|
|||||||
nodes;
|
nodes;
|
||||||
if (geometry.CLASS_NAME == "OpenLayers.Geometry.LineString" ||
|
if (geometry.CLASS_NAME == "OpenLayers.Geometry.LineString" ||
|
||||||
geometry.CLASS_NAME == "OpenLayers.Geometry.LinearRing") {
|
geometry.CLASS_NAME == "OpenLayers.Geometry.LinearRing") {
|
||||||
node = this.createElementNS(this.namespaces["gpx"], "trkseg");
|
node = this.createElementNSPlus("gpx:trkseg");
|
||||||
for (i = 0, len=geometry.components.length; i < len; i++) {
|
for (i = 0, len=geometry.components.length; i < len; i++) {
|
||||||
point = geometry.components[i];
|
point = geometry.components[i];
|
||||||
node.appendChild(this.buildTrkPtNode(point));
|
node.appendChild(this.buildTrkPtNode(point));
|
||||||
@@ -330,7 +329,7 @@ OpenLayers.Format.GPX = OpenLayers.Class(OpenLayers.Format.XML, {
|
|||||||
* {DOMElement} A trkpt node
|
* {DOMElement} A trkpt node
|
||||||
*/
|
*/
|
||||||
buildTrkPtNode: function(point) {
|
buildTrkPtNode: function(point) {
|
||||||
var node = this.createElementNS(this.namespaces["gpx"], "trkpt");
|
var node = this.createElementNSPlus("gpx:trkpt");
|
||||||
node.setAttribute("lon", point.x);
|
node.setAttribute("lon", point.x);
|
||||||
node.setAttribute("lat", point.y);
|
node.setAttribute("lat", point.y);
|
||||||
return node;
|
return node;
|
||||||
@@ -347,7 +346,7 @@ OpenLayers.Format.GPX = OpenLayers.Class(OpenLayers.Format.XML, {
|
|||||||
* {DOMElement} A wpt node
|
* {DOMElement} A wpt node
|
||||||
*/
|
*/
|
||||||
buildWptNode: function(feature) {
|
buildWptNode: function(feature) {
|
||||||
var node = this.createElementNS(this.namespaces["gpx"], "wpt");
|
var node = this.createElementNSPlus("gpx:wpt");
|
||||||
node.setAttribute("lon", feature.geometry.x);
|
node.setAttribute("lon", feature.geometry.x);
|
||||||
node.setAttribute("lat", feature.geometry.y);
|
node.setAttribute("lat", feature.geometry.y);
|
||||||
this.appendAttributesNode(node, feature);
|
this.appendAttributesNode(node, feature);
|
||||||
@@ -363,11 +362,11 @@ OpenLayers.Format.GPX = OpenLayers.Class(OpenLayers.Format.XML, {
|
|||||||
* feature - {<OpenLayers.Feature.Vector>}
|
* feature - {<OpenLayers.Feature.Vector>}
|
||||||
*/
|
*/
|
||||||
appendAttributesNode: function(node, feature) {
|
appendAttributesNode: function(node, feature) {
|
||||||
var name = this.createElementNS(this.namespaces["gpx"], 'name');
|
var name = this.createElementNSPlus('gpx:name');
|
||||||
name.appendChild(this.createTextNode(
|
name.appendChild(this.createTextNode(
|
||||||
feature.attributes.name || feature.id));
|
feature.attributes.name || feature.id));
|
||||||
node.appendChild(name);
|
node.appendChild(name);
|
||||||
var desc = this.createElementNS(this.namespaces["gpx"], 'desc');
|
var desc = this.createElementNSPlus('gpx:desc');
|
||||||
desc.appendChild(this.createTextNode(
|
desc.appendChild(this.createTextNode(
|
||||||
feature.attributes.description || this.defaultDesc));
|
feature.attributes.description || this.defaultDesc));
|
||||||
node.appendChild(desc);
|
node.appendChild(desc);
|
||||||
|
|||||||
Reference in New Issue
Block a user