diff --git a/externs/olx.js b/externs/olx.js index 64f8fe9f5a..53744e0238 100644 --- a/externs/olx.js +++ b/externs/olx.js @@ -1932,7 +1932,7 @@ olx.format.TopoJSONOptions.prototype.defaultDataProjection; /** - * @typedef {{altitudeMode: (ol.format.IGC.Z|undefined)}} + * @typedef {{altitudeMode: (ol.format.IGCZ|undefined)}} */ olx.format.IGCOptions; @@ -1940,7 +1940,7 @@ olx.format.IGCOptions; /** * Altitude mode. Possible values are `barometric`, `gps`, and `none`. Default * is `none`. - * @type {ol.format.IGC.Z|undefined} + * @type {ol.format.IGCZ|undefined} * @api */ olx.format.IGCOptions.prototype.altitudeMode; diff --git a/src/ol/format/igc.js b/src/ol/format/igc.js index ccfae500ba..38b949e0c5 100644 --- a/src/ol/format/igc.js +++ b/src/ol/format/igc.js @@ -3,6 +3,7 @@ goog.provide('ol.format.IGC'); goog.require('ol'); goog.require('ol.Feature'); goog.require('ol.format.Feature'); +goog.require('ol.format.IGCZ'); goog.require('ol.format.TextFeature'); goog.require('ol.geom.GeometryLayout'); goog.require('ol.geom.LineString'); @@ -31,10 +32,10 @@ ol.format.IGC = function(opt_options) { /** * @private - * @type {ol.format.IGC.Z} + * @type {ol.format.IGCZ} */ this.altitudeMode_ = options.altitudeMode ? - options.altitudeMode : ol.format.IGC.Z.NONE; + options.altitudeMode : ol.format.IGCZ.NONE; }; ol.inherits(ol.format.IGC, ol.format.TextFeature); @@ -135,11 +136,11 @@ ol.format.IGC.prototype.readFeatureFromText = function(text, opt_options) { x = -x; } flatCoordinates.push(x, y); - if (altitudeMode != ol.format.IGC.Z.NONE) { + if (altitudeMode != ol.format.IGCZ.NONE) { var z; - if (altitudeMode == ol.format.IGC.Z.GPS) { + if (altitudeMode == ol.format.IGCZ.GPS) { z = parseInt(m[11], 10); - } else if (altitudeMode == ol.format.IGC.Z.BAROMETRIC) { + } else if (altitudeMode == ol.format.IGCZ.BAROMETRIC) { z = parseInt(m[12], 10); } else { ol.DEBUG && console.assert(false, 'Unknown altitude mode.'); @@ -173,7 +174,7 @@ ol.format.IGC.prototype.readFeatureFromText = function(text, opt_options) { return null; } var lineString = new ol.geom.LineString(null); - var layout = altitudeMode == ol.format.IGC.Z.NONE ? + var layout = altitudeMode == ol.format.IGCZ.NONE ? ol.geom.GeometryLayout.XYM : ol.geom.GeometryLayout.XYZM; lineString.setFlatCoordinates(layout, flatCoordinates); var feature = new ol.Feature(ol.format.Feature.transformWithOptions( @@ -218,14 +219,3 @@ ol.format.IGC.prototype.readFeaturesFromText = function(text, opt_options) { * @api */ ol.format.IGC.prototype.readProjection; - - -/** - * IGC altitude/z. One of 'barometric', 'gps', 'none'. - * @enum {string} - */ -ol.format.IGC.Z = { - BAROMETRIC: 'barometric', - GPS: 'gps', - NONE: 'none' -}; diff --git a/src/ol/format/igcz.js b/src/ol/format/igcz.js new file mode 100644 index 0000000000..3394a69945 --- /dev/null +++ b/src/ol/format/igcz.js @@ -0,0 +1,11 @@ +goog.provide('ol.format.IGCZ'); + +/** + * IGC altitude/z. One of 'barometric', 'gps', 'none'. + * @enum {string} + */ +ol.format.IGCZ = { + BAROMETRIC: 'barometric', + GPS: 'gps', + NONE: 'none' +};