From 92b852c512440ab7e47269c9d854fc6ec146c388 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Thu, 16 Jan 2014 19:43:47 +0100 Subject: [PATCH 1/5] Remove unused extractAttributes and extractStyles options --- src/objectliterals.jsdoc | 2 -- src/ol/format/kmlformat.js | 2 -- 2 files changed, 4 deletions(-) diff --git a/src/objectliterals.jsdoc b/src/objectliterals.jsdoc index ff886b03c1..20bc1e9ac5 100644 --- a/src/objectliterals.jsdoc +++ b/src/objectliterals.jsdoc @@ -270,8 +270,6 @@ * @typedef {Object} olx.format.KMLOptions * @property {Array.|undefined} defaultStyle Default style. The default * default style is the same as Google Earth. - * @property {boolean|undefined} extractAttributes Extract attributes. - * @property {boolean|undefined} extractStyles Extract styles. */ /** diff --git a/src/ol/format/kmlformat.js b/src/ol/format/kmlformat.js index 336d87e223..b9946963da 100644 --- a/src/ol/format/kmlformat.js +++ b/src/ol/format/kmlformat.js @@ -1,8 +1,6 @@ // FIXME add Styles with ids to sharedStyles_ // FIXME refactor StyleMap handling // FIXME handle highlighted keys in StyleMaps - use styleFunctions -// FIXME extractAttributes -// FIXME extractStyles // FIXME http://earth.google.com/kml/1.0 namespace? // FIXME why does node.getAttribute return an unknown type? // FIXME text From 5ae54133db606b30a67d48c853790cbcfeacd553 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Thu, 16 Jan 2014 19:45:23 +0100 Subject: [PATCH 2/5] Allow ol.format.KML.readNumber_ to read signs and exponents, thanks @tschaub --- src/ol/format/kmlformat.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ol/format/kmlformat.js b/src/ol/format/kmlformat.js index b9946963da..29e1c93bfa 100644 --- a/src/ol/format/kmlformat.js +++ b/src/ol/format/kmlformat.js @@ -386,7 +386,7 @@ ol.format.KML.readFlatCoordinates_ = function(node) { */ ol.format.KML.readNumber_ = function(node) { var s = ol.xml.getAllTextContent(node, false); - var m = /^\s*(\d+(?:\.\d*)?)\s*$/.exec(s); + var m = /^\s*([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?)\s*$/i.exec(s); if (m) { return parseFloat(m[1]); } else { From 94ba7e807eceecca0d449b9086a04de0ca2ee642 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Thu, 16 Jan 2014 19:45:32 +0100 Subject: [PATCH 3/5] Fix typo in kml example --- examples/kml.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/kml.js b/examples/kml.js index bc948611b6..0afc19cb22 100644 --- a/examples/kml.js +++ b/examples/kml.js @@ -41,7 +41,7 @@ var displayFeatureInfo = function(pixel) { for (i = 0, ii = features.length; i < ii; ++i) { info.push(features[i].get('name')); } - document.getElementById('info').innerHTML = info.join(', ') || '(unkown)'; + document.getElementById('info').innerHTML = info.join(', ') || '(unknown)'; map.getTarget().style.cursor = 'pointer'; } else { document.getElementById('info').innerHTML = ' '; From 00286de2c82057f13241724ae5007f3719b69fb2 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Thu, 16 Jan 2014 20:07:25 +0100 Subject: [PATCH 4/5] Fix date calculation --- src/ol/format/kmlformat.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/ol/format/kmlformat.js b/src/ol/format/kmlformat.js index 29e1c93bfa..6b24345fb0 100644 --- a/src/ol/format/kmlformat.js +++ b/src/ol/format/kmlformat.js @@ -1155,16 +1155,15 @@ ol.format.KML.whenParser_ = function(node, objectStack) { var hour = parseInt(m[4], 10); var minute = parseInt(m[5], 10); var second = parseInt(m[6], 10); - var date = new Date(year, month, day, hour, minute, second, 0); - var t = date.getTime() / 1000; + var when = Date.UTC(year, month, day, hour, minute, second, 0); if (m[7] != 'Z') { var sign = m[8] == '-' ? -1 : 1; - t += sign * 60 * parseInt(m[9], 10); + when += sign * 60 * parseInt(m[9], 10); if (goog.isDef(m[10])) { - t += sign * 60 * 60 * parseInt(m[10], 10); + when += sign * 60 * 60 * parseInt(m[10], 10); } } - whens.push(t); + whens.push(when); } else { whens.push(0); } From 85217cdbb228e11d6d703e80431ea5ec87ccb38b Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Thu, 16 Jan 2014 20:35:20 +0100 Subject: [PATCH 5/5] Improve RegExp for parsing coordinates, thanks @tschaub --- src/ol/format/kmlformat.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ol/format/kmlformat.js b/src/ol/format/kmlformat.js index 6b24345fb0..ad6910ef7a 100644 --- a/src/ol/format/kmlformat.js +++ b/src/ol/format/kmlformat.js @@ -363,7 +363,7 @@ ol.format.KML.readFlatCoordinates_ = function(node) { // The KML specification states that coordinate tuples should not include // spaces, but we tolerate them. var re = - /^\s*([+\-]?\d+(?:\.\d*)?(?:e[+\-]?\d*)?)\s*,\s*([+\-]?\d+(?:\.\d*)?(?:e[+\-]?\d*)?)(?:\s*,\s*([+\-]?\d+(?:\.\d*)?(?:e[+\-]?\d*)?))?\s*/i; + /^\s*([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?)\s*,\s*([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?)(?:\s*,\s*([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?))?\s*/i; var m; while ((m = re.exec(s))) { var x = parseFloat(m[1]);