diff options
-rw-r--r-- | index.html | 37 |
1 files changed, 21 insertions, 16 deletions
@@ -7,37 +7,24 @@ <link rel="stylesheet" href="https://openlayers.org/en/v4.1.0/css/ol.css" type="text/css"> </head> <body> + <textarea class="js-wkt"></textarea> <textarea class="js-selected-feature"></textarea> <div id="map"></div> <script src="https://openlayers.org/en/v4.1.0/build/ol.js"></script> <script> + var input_el = document.getElementsByClassName('js-wkt')[0]; var output_el = document.getElementsByClassName('js-selected-feature')[0]; var raster = new ol.layer.Tile({ source: new ol.source.OSM() }); - var wkt = 'POLYGON((10.689 -25.092, 34.595 ' + - '-20.170, 38.814 -35.639, 13.502 ' + - '-39.155, 10.689 -25.092))'; - var format = new ol.format.WKT(); - var feature = format.readFeature(wkt, { - dataProjection: 'EPSG:4326', - featureProjection: 'EPSG:3857' - }); - - var vector = new ol.layer.Vector({ - source: new ol.source.Vector({ - features: [feature] - }) - }); - var map = new ol.Map({ - layers: [raster, vector], + layers: [raster], target: 'map', view: new ol.View({ center: ol.proj.fromLonLat([2.3475075, 48.869163]), @@ -56,6 +43,24 @@ }); map.addInteraction(select_click); + + input_el.onblur = function(e) { + var wkt_features = e.target.value.split('\n'); + wkt_features = wkt_features.map(function(wkt) { + return format.readFeature(wkt, { + dataProjection: 'EPSG:4326', + featureProjection: 'EPSG:3857' + }); + }); + + map.addLayer( + new ol.layer.Vector({ + source: new ol.source.Vector({ + features: wkt_features + }) + }) + ); + }; </script> </body> </html> |