From f96193082389df3184b7d56df0409b6e9f9b3b64 Mon Sep 17 00:00:00 2001 From: Tim Schaub Date: Wed, 6 Mar 2013 19:24:53 -0700 Subject: [PATCH] Render countries from GeoJSON This reveals a number of issues that still need to be addressed. --- examples/vector-layer.js | 30 ++++++++++++++++++++---------- src/ol/layer/vectorlayer.exports | 2 +- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/examples/vector-layer.js b/examples/vector-layer.js index e28f0d9cd6..303dd4829a 100644 --- a/examples/vector-layer.js +++ b/examples/vector-layer.js @@ -8,6 +8,7 @@ goog.require('ol.geom.LineString'); goog.require('ol.geom.Point'); goog.require('ol.layer.TileLayer'); goog.require('ol.layer.Vector'); +goog.require('ol.parser.GeoJSON'); goog.require('ol.projection'); goog.require('ol.source.MapQuestOpenAerial'); goog.require('ol.source.Vector'); @@ -19,21 +20,30 @@ var raster = new ol.layer.TileLayer({ var vector = new ol.layer.Vector({ source: new ol.source.Vector({ - projection: ol.projection.getFromCode('EPSG:3857') + projection: ol.projection.getFromCode('EPSG:4326') }) }); -vector.addFeatures([ - new ol.Feature({ - g: new ol.geom.LineString([[-10000000, -10000000], [10000000, 10000000]]) - }), - new ol.Feature({ - g: new ol.geom.LineString([[-10000000, 10000000], [10000000, -10000000]]) - }), - new ol.Feature({g: new ol.geom.Point([-10000000, 5000000])}) -]); +var geojson = new ol.parser.GeoJSON(); +var url = '../test/spec/ol/parser/geojson/countries.json'; +var xhr = new XMLHttpRequest(); +xhr.open('GET', url, true); +/** + * onload handler for the XHR request. + */ +xhr.onload = function() { + if (xhr.status == 200) { + // this is silly to have to tell the layer the destination projection + var projection = map.getView().getProjection(); + vector.parseFeatures(xhr.responseText, geojson, projection); + } else { + throw new Error('Data loading failed: ' + xhr.status); + } +}; +xhr.send(); + var map = new ol.Map({ layers: new ol.Collection([raster, vector]), renderer: ol.RendererHint.CANVAS, diff --git a/src/ol/layer/vectorlayer.exports b/src/ol/layer/vectorlayer.exports index 6abe609b01..ff90656cad 100644 --- a/src/ol/layer/vectorlayer.exports +++ b/src/ol/layer/vectorlayer.exports @@ -1,3 +1,3 @@ @exportClass ol.layer.Vector ol.layer.LayerOptions -@exportProperty ol.layer.Vector.prototype.addFeatures +@exportProperty ol.layer.Vector.prototype.parseFeatures