diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-10-17 18:41:50 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-10-17 18:41:50 +0200 |
commit | 3ea0002a1622ee61119407e302fb242f6a9cfd93 (patch) | |
tree | 0cfee71c8e3d973452128d453908dfa9cf2548cb | |
parent | faacee0a659f5eb1d8d3cd08f49b37e48c5c9a55 (diff) | |
download | Chimère-3ea0002a1622ee61119407e302fb242f6a9cfd93.tar.bz2 Chimère-3ea0002a1622ee61119407e302fb242f6a9cfd93.zip |
JS: can load WKT with SRID description
-rw-r--r-- | chimere/static/chimere/js/jquery.chimere.js | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/chimere/static/chimere/js/jquery.chimere.js b/chimere/static/chimere/js/jquery.chimere.js index c919bb9..f6b29a5 100644 --- a/chimere/static/chimere/js/jquery.chimere.js +++ b/chimere/static/chimere/js/jquery.chimere.js @@ -632,8 +632,6 @@ function transformCoordToLonLat(coord) { target.style.cursor = hit ? 'pointer' : ''; }); - settings.WKT = new ol.format.WKT(); - /* Vectors layer */ settings.vectors = new ol.Collection(); @@ -2824,7 +2822,9 @@ function transformCoordToLonLat(coord) { jQuery(input_id).val(''); return; } - var wkt = settings.WKT.writeFeature(features[0], { + + var WKT = new ol.format.WKT(); + var wkt = WKT.writeFeature(features[0], { dataProjection: EPSG_DISPLAY_PROJECTION, featureProjection: EPSG_PROJECTION}); jQuery(input_id).val(String(wkt)); @@ -2858,7 +2858,12 @@ function transformCoordToLonLat(coord) { }, initFeature: function(wkt_geometry){ if (!wkt_geometry || wkt_geometry == 'None') return; - feature = settings.WKT.readFeature(wkt_geometry, { + var WKT = new ol.format.WKT(); + // remove srid description "SRID=1234;GEOM(...)" if present + if (wkt_geometry.indexOf(';') != -1){ + wkt_geometry = wkt_geometry.substring(wkt_geometry.indexOf(';') + 1); + } + feature = WKT.readFeature(wkt_geometry, { dataProjection: EPSG_DISPLAY_PROJECTION, featureProjection: EPSG_PROJECTION}); if (settings.draw_activated){ |