diff --git a/examples/geojson.js b/examples/geojson.js index 576ceabe35..b9fce0dce9 100644 --- a/examples/geojson.js +++ b/examples/geojson.js @@ -3,8 +3,10 @@ goog.require('ol.RendererHint'); goog.require('ol.View2D'); goog.require('ol.layer.Tile'); goog.require('ol.layer.Vector'); -goog.require('ol.source.GeoJSON'); +goog.require('ol.reader'); +goog.require('ol.reader.GeoJSON'); goog.require('ol.source.OSM'); +goog.require('ol.source.Vector'); goog.require('ol.style.DefaultStyleFunction'); @@ -29,65 +31,62 @@ var styleFunction = function(feature) { } }; -var geoJSONSource = new ol.source.GeoJSON( - /** @type {ol.source.GeoJSONOptions} */ ({ - geoJSON: { - 'type': 'FeatureCollection', - features: [ - { - 'type': 'Feature', - 'geometry': { - 'type': 'Point', - 'coordinates': [0, 0] - } - }, - { - 'type': 'Feature', - 'geometry': { - 'type': 'LineString', - 'coordinates': [[-1e7, -1e7], [1e7, 1e7]] - } - }, - { - 'type': 'Feature', - 'geometry': { - 'type': 'LineString', - 'coordinates': [[-1e7, 1e7], [1e7, -1e7]] - } - }, - { - 'type': 'Feature', - 'geometry': { - 'type': 'Polygon', - 'coordinates': [[[-5e6, -5e6], [0, 5e6], [5e6, -5e6]]] - } - }, - { - 'type': 'Feature', - 'geometry': { - 'type': 'MultiLineString', - 'coordinates': [ - [[-1e6, -7.5e5], [-1e6, 7.5e5]], - [[1e6, -7.5e5], [1e6, 7.5e5]], - [[-7.5e5, -1e6], [7.5e5, -1e6]], - [[-7.5e5, 1e6], [7.5e5, 1e6]] - ] - } - }, - { - 'type': 'Feature', - 'geometry': { - 'type': 'MultiPolygon', - 'coordinates': [ - [[[-5e6, 6e6], [-5e6, 8e6], [-3e6, 8e6], [-3e6, 6e6]]], - [[[-2e6, 6e6], [-2e6, 8e6], [0e6, 8e6], [0e6, 6e6]]], - [[[1e6, 6e6], [1e6, 8e6], [3e6, 8e6], [3e6, 6e6]]] - ] - } - } +var features = ol.reader.readAllFromObject(ol.reader.GeoJSON.readObject, { + 'type': 'FeatureCollection', + 'features': [ + { + 'type': 'Feature', + 'geometry': { + 'type': 'Point', + 'coordinates': [0, 0] + } + }, + { + 'type': 'Feature', + 'geometry': { + 'type': 'LineString', + 'coordinates': [[-1e7, -1e7], [1e7, 1e7]] + } + }, + { + 'type': 'Feature', + 'geometry': { + 'type': 'LineString', + 'coordinates': [[-1e7, 1e7], [1e7, -1e7]] + } + }, + { + 'type': 'Feature', + 'geometry': { + 'type': 'Polygon', + 'coordinates': [[[-5e6, -5e6], [0, 5e6], [5e6, -5e6]]] + } + }, + { + 'type': 'Feature', + 'geometry': { + 'type': 'MultiLineString', + 'coordinates': [ + [[-1e6, -7.5e5], [-1e6, 7.5e5]], + [[1e6, -7.5e5], [1e6, 7.5e5]], + [[-7.5e5, -1e6], [7.5e5, -1e6]], + [[-7.5e5, 1e6], [7.5e5, 1e6]] ] } - })); + }, + { + 'type': 'Feature', + 'geometry': { + 'type': 'MultiPolygon', + 'coordinates': [ + [[[-5e6, 6e6], [-5e6, 8e6], [-3e6, 8e6], [-3e6, 6e6]]], + [[[-2e6, 6e6], [-2e6, 8e6], [0e6, 8e6], [0e6, 6e6]]], + [[[1e6, 6e6], [1e6, 8e6], [3e6, 8e6], [3e6, 6e6]]] + ] + } + } + ] +}); var map = new ol.Map({ layers: [ @@ -95,7 +94,9 @@ var map = new ol.Map({ source: new ol.source.OSM() }), new ol.layer.Vector({ - source: geoJSONSource, + source: new ol.source.Vector({ + features: features + }), styleFunction: styleFunction }) ],