diff --git a/src/main/webapp/js/observationFormMap.js b/src/main/webapp/js/observationFormMap.js index 470176719e74a15fcad0bfe73a207de8150a8c7a..9205aed0f502906e35fd7e34f7f5271f854bd6ab 100755 --- a/src/main/webapp/js/observationFormMap.js +++ b/src/main/webapp/js/observationFormMap.js @@ -29,7 +29,7 @@ * @returns {void} */ -function initMap(center, zoomLevel, displayMarker) { +function initMap(center, zoomLevel, displayMarker, drawnObjs) { var osm = new ol.layer.Tile({ @@ -55,6 +55,16 @@ function initMap(center, zoomLevel, displayMarker) { }) }); + + + + + + + + + + var fylke_layer = new ol.layer.Vector({ title: 'Fylkesgrenser', type: 'overlay', @@ -89,109 +99,6 @@ function initMap(center, zoomLevel, displayMarker) { }); - /* var vector_layer = new ol.layer.Vector({ - title: 'Tegnelayer', - type: 'overlay', - visible: true, - name: 'my_vectorlayer', - source: new ol.source.Vector(), - style: new ol.style.Style({ - fill: new ol.style.Fill({ - color: 'rgba(255, 00, 255, 0.2)' - }), - stroke: new ol.style.Stroke({ - color: '#ff00ff', - width: 2 - }), - image: new ol.style.Circle({ - radius: 7, - fill: new ol.style.Fill({ - color: '#ff00ff' - }) - }) - }) - }); - - - function switchLayer() { - var checkedLayer = $('#layerswitcher input[name=layer]:checked').val(); - for (i = 0, ii = layers.length; i < ii; ++i) layers[i].setVisible(i == checkedLayer); - } - - $(function() { - switchLayer() - }); - $("#layerswitcher input[name=layer]").change(function() { - switchLayer() - }); - - /*var layers = [ - - new ol.layer.Group({ - 'title': 'Bakgrunnskart', - layers: [ - new ol.layer.Tile({ - title: 'Bing Arial', - type: 'base', - visible: false, - source: new ol.source.BingMaps({ - imagerySet: 'Aerial', - key: 'Ak-dzM4wZjSqTlzveKz5u0d4IQ4bRzVI309GxmkgSVr1ewS6iPSrOvOKhA-CJlm3' - }) - }), - new ol.layer.Tile({ - 'title': 'OSM', - type: 'base', - visible: true, - source: new ol.source.OSM({ - attributions: [ - new ol.Attribution({ - html: mapConstants.MAP_ATTRIBUTION - }) - ] - }) - }) - ] - }), - new ol.layer.Group({ - title: 'Kartlag', - layers: [ - - new ol.layer.Vector({ - title: 'Fylkesgrenser', - type: 'overlay', - visible: false, - source: new ol.source.GeoJSON({ - projection: 'EPSG:3857', - url: '/geoserver/ows?srsname=EPSG:3857&format_options=decimals:0&service=WFS&version=1.0.0&outputFormat=json&request=GetFeature&typeName=sl:n5_forv_fylke_mv&' - }), - style: new ol.style.Style({ - stroke: new ol.style.Stroke({ - color: 'rgba(0, 0, 255, 1.0)', - width: 3 - }) - }) - }), - new ol.layer.Vector({ - title: 'Kommunegrenser', - type: 'overlay', - visible: false, - source: new ol.source.GeoJSON({ - projection: 'EPSG:3857', - url: '/geoserver/ows?srsname=EPSG:3857&format_options=decimals:0&service=WFS&version=1.0.0&outputFormat=json&request=GetFeature&typeName=sl:n2000_komm_flate&' - }), - style: new ol.style.Style({ - stroke: new ol.style.Stroke({ - color: 'rgba(255, 0, 0, 1.0)', - width: 1 - }) - }) - }), - vector_layer - ] - }) - ];*/ - // Creating the map var map = new ol.Map({ target: 'observationFormMap', @@ -266,6 +173,17 @@ function initMap(center, zoomLevel, displayMarker) { }) }) }); + + if (drawnObjs){ // Get drawn objs param from initMap + var format = new ol.format.GeoJSON(); + var drawnfeatures = format.readFeatures(drawnObjs, { + dataProjection: 'EPSG:4326', + featureProjection: 'EPSG:3857' + }); + //featureOverlay.clear(true); + featureOverlay.getSource().addFeatures(drawnfeatures); + } + featureOverlay.setMap(map); var modify = new ol.interaction.Modify({ @@ -309,23 +227,18 @@ function initMap(center, zoomLevel, displayMarker) { // get the features drawn on the map var features = featureOverlay.getSource().getFeatures(); // create an object to write features on a output KML file - var format = new ol.format.GeoJSON( - /*{ - defaultDataProjection: 'EPSG:3857' - }*/ - ); + + //var desimalDegrees = features[0].getGeometry().clone().transform('EPSG:4326','EPSG:3857').getCoordinates(); +//debugger; + + var format = new ol.format.GeoJSON(); // write features to GeoJSON format using projection EPSG:4326 var result = format.writeFeatures(features, { - featureProjection: 'EPSG:4326' + dataProjection: 'EPSG:4326', + featureProjection: 'EPSG:3857' }); - /*var desimalDegrees = format.readFeatures(result, { - dataProjection: 'EPSG:3857', - featureProjection: 'EPSG:4326' - });*/ - //debugger; - // Save KML node as KML file using FileSaver.js script alert(result); clearMap(); //var str = (new XMLSerializer).serializeToString(kml); @@ -373,14 +286,6 @@ function initMap(center, zoomLevel, displayMarker) { geolocation.setTracking(this.checked); }); - // update the HTML page when the position changes. - geolocation.on('change', function() { - /*el('accuracy').innerText = geolocation.getAccuracy() + ' [m]'; - el('altitude').innerText = geolocation.getAltitude() + ' [m]'; - el('altitudeAccuracy').innerText = geolocation.getAltitudeAccuracy() + ' [m]'; - el('heading').innerText = geolocation.getHeading() + ' [rad]'; - el('speed').innerText = geolocation.getSpeed() + ' [m/s]';*/ - }); // handle geolocation error. geolocation.on('error', function(error) {