From d46a644c3a75d5a51b7e1f899d2f0fbc1294d037 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Tue, 4 Mar 2014 16:04:39 +0100 Subject: [PATCH 1/2] Set way ids in ol.format.OSMXML --- src/ol/format/osmxmlformat.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ol/format/osmxmlformat.js b/src/ol/format/osmxmlformat.js index 65f8f2badb..8ec3dab21c 100644 --- a/src/ol/format/osmxmlformat.js +++ b/src/ol/format/osmxmlformat.js @@ -78,6 +78,7 @@ ol.format.OSMXML.readNode_ = function(node, objectStack) { ol.format.OSMXML.readWay_ = function(node, objectStack) { goog.asserts.assert(node.nodeType == goog.dom.NodeType.ELEMENT); goog.asserts.assert(node.localName == 'way'); + var id = node.getAttribute('id'); var values = ol.xml.pushParseAndPop({ ndrefs: [], tags: {} @@ -98,6 +99,7 @@ ol.format.OSMXML.readWay_ = function(node, objectStack) { geometry.setFlatCoordinates(ol.geom.GeometryLayout.XY, flatCoordinates); } var feature = new ol.Feature(geometry); + feature.setId(id); feature.setValues(values.tags); state.features.push(feature); }; From c06484344effb6575d7d90b5a5eb9798a0f56c3c Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Tue, 4 Mar 2014 16:04:52 +0100 Subject: [PATCH 2/2] Hoist var declaration --- src/ol/format/osmxmlformat.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/ol/format/osmxmlformat.js b/src/ol/format/osmxmlformat.js index 8ec3dab21c..3b7278a093 100644 --- a/src/ol/format/osmxmlformat.js +++ b/src/ol/format/osmxmlformat.js @@ -89,13 +89,14 @@ ol.format.OSMXML.readWay_ = function(node, objectStack) { var point = goog.object.get(state.nodes, values.ndrefs[i]); goog.array.extend(flatCoordinates, point); } + var geometry; if (values.ndrefs[0] == values.ndrefs[values.ndrefs.length - 1]) { // closed way - var geometry = new ol.geom.Polygon(null); + geometry = new ol.geom.Polygon(null); geometry.setFlatCoordinates(ol.geom.GeometryLayout.XY, flatCoordinates, [flatCoordinates.length]); } else { - var geometry = new ol.geom.LineString(null); + geometry = new ol.geom.LineString(null); geometry.setFlatCoordinates(ol.geom.GeometryLayout.XY, flatCoordinates); } var feature = new ol.Feature(geometry);