diff --git a/examples/igc.js b/examples/igc.js index 0d78b7c4c5..0c7a65e076 100644 --- a/examples/igc.js +++ b/examples/igc.js @@ -2,27 +2,17 @@ goog.require('ol.Attribution'); goog.require('ol.Map'); goog.require('ol.RendererHint'); goog.require('ol.View2D'); -goog.require('ol.format.IGC'); goog.require('ol.geom.LineString'); goog.require('ol.geom.Point'); goog.require('ol.layer.Tile'); goog.require('ol.layer.Vector'); -goog.require('ol.proj'); +goog.require('ol.source.IGC'); goog.require('ol.source.OSM'); -goog.require('ol.source.Vector'); goog.require('ol.style.Circle'); goog.require('ol.style.Stroke'); goog.require('ol.style.Style'); -var tracklogs = [ - 'data/igc/Clement-Latour.igc', - 'data/igc/Damien-de-Baenst.igc', - 'data/igc/Sylvain-Dhonneur.igc', - 'data/igc/Tom-Payne.igc', - 'data/igc/Ulrich-Prinz.igc' -]; - var colors = { 'Clement Latour': 'rgba(0, 0, 255, 0.7)', 'Damien de Baesnt': 'rgba(0, 215, 255, 0.7)', @@ -47,7 +37,15 @@ var styleFunction = function(feature, resolution) { return styleArray; }; -var vectorSource = new ol.source.Vector(); +var vectorSource = new ol.source.IGC({ + urls: [ + 'data/igc/Clement-Latour.igc', + 'data/igc/Damien-de-Baenst.igc', + 'data/igc/Sylvain-Dhonneur.igc', + 'data/igc/Tom-Payne.igc', + 'data/igc/Ulrich-Prinz.igc' + ] +}); var map = new ol.Map({ layers: [ @@ -77,18 +75,6 @@ var map = new ol.Map({ }); -var transform = ol.proj.getTransform('EPSG:4326', 'EPSG:3857'); -var i, ii; -for (i = 0, ii = tracklogs.length; i < ii; ++i) { - $.get(tracklogs[i], function(data) { - var format = new ol.format.IGC(); - var feature = format.readFeature(data); - feature.getGeometry().transform(transform); - vectorSource.addFeature(feature); - }); -} - - var point = null; var line = null; var displaySnap = function(coordinate) { diff --git a/src/objectliterals.jsdoc b/src/objectliterals.jsdoc index ae75255e54..bc1342026d 100644 --- a/src/objectliterals.jsdoc +++ b/src/objectliterals.jsdoc @@ -527,6 +527,7 @@ * @property {ol.proj.ProjectionLike} reprojectTo Re-project to. * @property {string|undefined} text Text. * @property {string|undefined} url URL. + * @property {Array.|undefined} urls URLs. */ /** @@ -535,6 +536,7 @@ * Possible values are `barometric`, `gps`, and `none`. Default is `none`. * @property {string|undefined} text Text. * @property {string|undefined} url URL. + * @property {Array.|undefined} urls URLs. */ /** @@ -567,6 +569,7 @@ * @property {ol.proj.ProjectionLike} reprojectTo Re-project to. * @property {string|undefined} text Text. * @property {string|undefined} url URL. + * @property {Array.|undefined} urls URLs. */ /** @@ -712,6 +715,7 @@ * @property {ol.proj.ProjectionLike} projection Projection. * @property {string|undefined} text Text. * @property {string|undefined} url URL. + * @property {Array.|undefined} urls URLs. */ /** diff --git a/src/ol/source/geojsonsource.js b/src/ol/source/geojsonsource.js index 94da078387..4d37429d25 100644 --- a/src/ol/source/geojsonsource.js +++ b/src/ol/source/geojsonsource.js @@ -25,7 +25,8 @@ ol.source.GeoJSON = function(opt_options) { projection: options.projection, reprojectTo: options.reprojectTo, text: options.text, - url: options.url + url: options.url, + urls: options.urls }); }; diff --git a/src/ol/source/igcsource.js b/src/ol/source/igcsource.js index 2ca98e470e..a74e0e851f 100644 --- a/src/ol/source/igcsource.js +++ b/src/ol/source/igcsource.js @@ -19,7 +19,8 @@ ol.source.IGC = function(opt_options) { altitudeMode: options.altitudeMode }), text: options.text, - url: options.url + url: options.url, + urls: options.urls }); }; diff --git a/src/ol/source/kmlsource.js b/src/ol/source/kmlsource.js index ef951220ed..a10a5be288 100644 --- a/src/ol/source/kmlsource.js +++ b/src/ol/source/kmlsource.js @@ -24,7 +24,8 @@ ol.source.KML = function(opt_options) { projection: options.projection, reprojectTo: options.reprojectTo, text: options.text, - url: options.url + url: options.url, + urls: options.urls }); }; diff --git a/src/ol/source/vectorfilesource.js b/src/ol/source/vectorfilesource.js index b43fcc68bf..584e1b5a21 100644 --- a/src/ol/source/vectorfilesource.js +++ b/src/ol/source/vectorfilesource.js @@ -57,9 +57,19 @@ ol.source.VectorFile = function(opt_options) { this.readFeatures_(options.text); } - if (goog.isDef(options.url)) { + if (goog.isDef(options.url) || goog.isDef(options.urls)) { this.setState(ol.source.State.LOADING); - goog.net.XhrIo.send(options.url, goog.bind(this.handleXhrIo_, this)); + var handleXhrIo = goog.bind(this.handleXhrIo_, this); + if (goog.isDef(options.url)) { + goog.net.XhrIo.send(options.url, handleXhrIo); + } + if (goog.isDef(options.urls)) { + var urls = options.urls; + var i, ii; + for (i = 0, ii = urls.length; i < ii; ++i) { + goog.net.XhrIo.send(urls[i], handleXhrIo); + } + } } };