{"version":3,"sources":["global-variables.js","global-functions.js","bottom_line.js","compass.js","draw-control.js","geolocation.js","map-overlay.js","minimap.js","overviewmap.js","search.js","tenant.js","layers.js","styles.js","map.js"],"names":["dafLogin","dkProj","proj4","defs","dkOrigin","dkResolutions","dkMatrixIds","dkExtent","dkCenter","dkTileGrid","ol","tilegrid","WMTS","origin","resolutions","matrixIds","dkProjection","proj","Projection","code","units","extent","urlTopoSkaermkortDaempet","urlOrtoSping","Map","textToHtml","parent","document","createElement","converter","string","innerHTML","childNodes","duration","flash","feature","start","Date","getTime","listenerKey","animate","event","vectorContext","frameState","flashGeom","getGeometry","clone","elapsed","time","elapsedRatio","radius","easing","easeOut","opacity","flashStyle","style","Circle","snapToPixel","stroke","Stroke","color","width","setImageStyle","drawPointGeometry","Observable","unByKey","map","on","BottomLine","opt_options","options","element","className","control","Control","call","target","inherits","CompassControl","button","this_","compassElm","comp","compRotate","showCompass","body","appendChild","window","addEventListener","move","end","resetRotation","e","children","transform","currentRotation","view","getRotation","undefined","Math","PI","animation","rotate","rotation","minimap","beforeRender","setRotation","getView","boxCenter","innerWidth","innerHeight","angleRad","atan2","pageX","pageY","angleDeg","toFixed","removeChild","removeEventListener","DrawControl","modifying","drawed","init","drawButton","modifyButton","clearButton","title","features","drawFeatures","overlay","drawLayer","drawInteraction","interaction","Draw","type","name","modifyInteraction","Modify","deleteCondition","events","condition","shiftKeyOnly","singleClick","getAccessAddresses","properties","getProperties","geojson","format","GeoJSON","matrikelnr","axios","get","kommunekode","ejerlavkode","then","response","json","data","addresses","infoBar","display","length","err","coordinates","getCoordinates","getType","getPolygon","getLinearRing","JSON","stringify","ejerlavsKoder","jordstykke","ejerlav","kode","join","matrikelNumre","Promise","all","values","reduce","arr","val","error","getAccessAddressesStreet","props","drawStart","clearFeatures","classList","add","isDrawing","addInteraction","drawFinished","drawEnd","geom","hasDrawing","remove","setTimeout","removeInteraction","goToMap","geometry","getWkt","WKT","wkt","writeGeometry","modifyStart","isModifying","modifyEnd","item","stopModify","drawButtonClick","getResolution","alert","modifyButtonClick","getLength","$","r","confirm","clear","isPolygon","Polygon","isMultiPolygon","MultiPolygon","removeAt","render","getMap","addLayer","setProperties","GeolocationControl","showLocationOnMap","Geolocation","getLocation","success","position","latitude","coords","longitude","coord","fetch","readFeatures","extend","fit","getSource","getExtent","getSize","location","hash","MapOverlay","MiniMapControl","miniMap","View","center","projection","zoom","ortoBig","layers","getLayer","skaermBig","orto","layer","Tile","source","url","matrixSet","tileGrid","visible","skaerm","attributions","Attribution","html","minimapElm","id","onclick","getVisible","setVisible","updateSize","logo","controls","interactions","setCenter","getCenter","setZoom","getZoom","overviewmap","that","elm","OverviewMap","prototype","setMap","resetExtent_","OVERVIEWMAP_MAX_RATIO","OVERVIEWMAP_MIN_RATIO","ovmap","ovmap_","mapSize","calculateExtent","ovmapSize","ovview","steps","log","LN2","ratio","pow","scaleFromCenter","Search","searchModel","SearchModel","searchView","SearchView","addressesModel","AddressesModel","addressesView","AddressesAutocompleteView","customEvents","onSelect","bottomSpace","hide","blockEvents","adgangsadresse","href","adgangspunkt","koordinater","vectorLayer","addFeature","Feature","Point","matrikelModel","MatrikelModel","matrikelView","MatrikelAutocompleteView","inputView","InputView","topSpace","Space","append","attachEvent","getEvents","focus","blur","dataChange","search","input","select","Tenant","_addToMap","setLayer","newLayer","push","setLayers","newLayers","i","concat","filter","getLayers","styles","setStyle","newStyle","setStyles","newStyles","getStyle","getStyles","roskildeBbox","clearMap","Style","image","Icon","anchor","src","zIndex","circle","fill","Fill","cursor","Vector","Collection","popupElement","getElementById","popup","Overlay","positioning","gdsAttr","Image","ImageWMS","params","minResolution","maxResolution","LAYERS","bgcolor","transparent","format_options","serverType","bottomLine","collapsible","ScaleLine","Zoom","zoomInLabel","zoomOutLabel","defaults","getArray","querySelector","addOverlay","clearDrawFeatures","skipConfirm","openPopup","vejstykke","navn","husnr","postnummer","nr","encodeURI","esrejendomsnr","evt","Input","hasFocus","forEachFeatureAtPixel","pixel","originalEvent","altKey","getCoordinateFromPixel","getFeatures","replace","dragging","setPosition","getEventPixel","hit","hasFeatureAtPixel","getTarget"],"mappings":"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","file":"map.min.js","sourcesContent":["var dafLogin = \"username=MRELCFWBOX&password=!6ydEFIH-2VT.7!Ukvc!\";\r\nvar\r\n dkProj = proj4.defs('EPSG:25832', \"+proj=utm +zone=32 +ellps=GRS80 +units=m +no_defs\"),\r\n dkOrigin = [120000.0, 6500000.0],\r\n dkResolutions = [1638.4, 819.2, 409.6, 204.8, 102.4, 51.2, 25.6, 12.8, 6.4, 3.2, 1.6, 0.8, 0.4, 0.2],\r\n dkMatrixIds = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13'],\r\n dkExtent = [430000, 6000000, 905000, 6475000],\r\n dkCenter = [(dkExtent[2] + dkExtent[0]) / 2, (dkExtent[3] + dkExtent[1]) / 2],\r\n dkTileGrid = new ol.tilegrid.WMTS({ origin: dkOrigin, resolutions: dkResolutions, matrixIds: dkMatrixIds }),\r\n dkProjection = new ol.proj.Projection({ code: 'EPSG:25832', units: 'm', extent: dkExtent }),\r\n urlTopoSkaermkortDaempet = 'https://services.datafordeler.dk/DKskaermkort/topo_skaermkort_daempet/1.0.0/wmts?' + dafLogin,\r\n urlOrtoSping = 'https://services.datafordeler.dk/GeoDanmarkOrto/orto_foraar_wmts/1.0.0/WMTS?' + dafLogin;\r\n\r\nvar Map = {};\r\n","var textToHtml = (function() {\r\n var parent = document.createElement('div');\r\n\r\n function converter(string) {\r\n if (parent.innerHTML !== '') {\r\n parent.innerHTML = '';\r\n }\r\n\r\n parent.innerHTML = string;\r\n\r\n return parent.childNodes[0];\r\n }\r\n\r\n return converter;\r\n})();\r\n\r\n\r\nvar duration = 3000;\r\nfunction flash(feature) {\r\n var start = new Date().getTime();\r\n var listenerKey;\r\n\r\n function animate(event) {\r\n var vectorContext = event.vectorContext;\r\n var frameState = event.frameState;\r\n var flashGeom = feature.getGeometry().clone();\r\n var elapsed = frameState.time - start;\r\n var elapsedRatio = elapsed / duration;\r\n // radius will be 5 at start and 30 at end.\r\n var radius = ol.easing.easeOut(elapsedRatio) * 25 + 5;\r\n var opacity = ol.easing.easeOut(1 - elapsedRatio);\r\n\r\n var flashStyle = new ol.style.Circle({\r\n radius: radius,\r\n snapToPixel: false,\r\n stroke: new ol.style.Stroke({\r\n color: 'rgba(255, 0, 0, ' + opacity + ')',\r\n width: 1,\r\n opacity: opacity\r\n })\r\n });\r\n\r\n vectorContext.setImageStyle(flashStyle);\r\n vectorContext.drawPointGeometry(flashGeom, null);\r\n if (elapsed > duration) {\r\n ol.Observable.unByKey(listenerKey);\r\n return;\r\n }\r\n // tell OL3 to continue postcompose animation\r\n frameState.animate = true;\r\n }\r\n listenerKey = Map.map.on('postcompose', animate);\r\n}\r\n","var BottomLine = function (opt_options) {\r\n 'use strict';\r\n var options = opt_options || {};\r\n\r\n var element = document.createElement('div');\r\n element.className = 'ol-bottom-line ol-unselectable ol-control';\r\n\r\n ol.control.Control.call(this, {\r\n element: element,\r\n target: options.target\r\n });\r\n};\r\nol.inherits(BottomLine, ol.control.Control);\r\n","Map.CompassControl = function(opt_options) {\r\n\r\n var options = opt_options || {};\r\n\r\n var button = document.createElement('button');\r\n button.innerHTML = '';\r\n\r\n var this_ = this;\r\n var compassElm;\r\n var comp,\r\n compRotate;\r\n\r\n var showCompass = function() {\r\n document.body.appendChild(compassElm);\r\n\r\n window.addEventListener('mousemove', move);\r\n window.addEventListener('click', end);\r\n\r\n };\r\n\r\n var resetRotation = function(e) {\r\n\r\n button.children[0].style.transform = 'rotate(0deg)';\r\n\r\n var currentRotation = Map.view.getRotation();\r\n if (currentRotation !== undefined) {\r\n\r\n currentRotation = currentRotation % (2 * Math.PI);\r\n if (currentRotation < -Math.PI) {\r\n currentRotation += 2 * Math.PI;\r\n }\r\n if (currentRotation > Math.PI) {\r\n currentRotation -= 2 * Math.PI;\r\n }\r\n\r\n var animation = ol.animation.rotate({\r\n rotation: currentRotation,\r\n duration: 200,\r\n easing: ol.easing.easeOut\r\n });\r\n Map.minimap.beforeRender(animation)\r\n Map.map.beforeRender(animation);\r\n Map.view.setRotation(0);\r\n Map.minimap.getView().setRotation(0);\r\n }\r\n };\r\n\r\n var move = function(e) {\r\n var boxCenter=[window.innerWidth/2, window.innerHeight/2];\r\n var angleRad = Math.atan2(e.pageX- boxCenter[0], - (e.pageY- boxCenter[1]) );\r\n var angleDeg = angleRad * (180/Math.PI);\r\n\r\n comp.style.transform = 'rotate(' + angleDeg + 'deg)';\r\n compRotate.innerHTML = 'Rotation: ' + angleDeg.toFixed(2) + 'deg';\r\n button.children[0].style.transform = 'rotate(' + angleDeg + 'deg)';\r\n Map.view.setRotation(angleRad);\r\n Map.minimap.getView().setRotation(angleRad);\r\n\r\n }\r\n\r\n var end = function() {\r\n document.body.removeChild(compassElm);\r\n window.removeEventListener('mousemove', move);\r\n window.removeEventListener('click', end);\r\n }\r\n\r\n button.addEventListener('click', showCompass, false);\r\n // button.addEventListener('touchstart', showLocationOnMap, false);\r\n\r\n var element = document.createElement('div');\r\n element.className = 'ol-compass-custom ol-unselectable ol-control';\r\n element.appendChild(button);\r\n\r\n compassElm = document.createElement('div');\r\n compassElm.className = 'compass-wrap';\r\n compassElm.innerHTML = '
';\r\n\r\n\r\n comp = compassElm.children[0];\r\n compRotate = compassElm.children[1];\r\n comp.addEventListener('click', resetRotation);\r\n\r\n comp.addEventListener('mouseover', function() {\r\n window.removeEventListener('mousemove', move);\r\n });\r\n\r\n comp.addEventListener('mouseout', function() {\r\n window.addEventListener('mousemove', move);\r\n });\r\n\r\n ol.control.Control.call(this, {\r\n element: element,\r\n target: options.target\r\n });\r\n\r\n};\r\nol.inherits(Map.CompassControl, ol.control.Control);\r\n","Map.DrawControl = function(opt_options) {\r\n\r\n let options = opt_options || {};\r\n\r\n let modifying = false;\r\n let drawed = false;\r\n let map;\r\n\r\n let init = false;\r\n\r\n let drawButton = document.createElement('button');\r\n let modifyButton = document.createElement('button');\r\n let clearButton = document.createElement('button');\r\n \r\n drawButton.innerHTML = '';\r\n modifyButton.innerHTML = '';\r\n clearButton.innerHTML = '';\r\n\r\n drawButton.title = 'Marker et område';\r\n modifyButton.title = 'Modificer markering';\r\n clearButton.title = 'Slet område markering';\r\n\r\n let features = Map.drawFeatures;\r\n let overlay = Map.drawLayer;\r\n\r\n const drawInteraction = new ol.interaction.Draw({\r\n features: features,\r\n type: 'Polygon',\r\n name: 'DrawInteraction'\r\n });\r\n\r\n const modifyInteraction = new ol.interaction.Modify({\r\n features: features,\r\n // the SHIFT key must be pressed to delete vertices, so\r\n // that new vertices can be drawn at the same position\r\n // of existing vertices\r\n deleteCondition: function(event) {\r\n return ol.events.condition.shiftKeyOnly(event) &&\r\n ol.events.condition.singleClick(event);\r\n }\r\n });\r\n\r\n let this_ = this;\r\n\r\n const getAccessAddresses = function (feature) {\r\n const properties = feature.getProperties();\r\n let geojson = new ol.format.GeoJSON();\r\n if (properties.matrikelnr) {\r\n axios.get('//dawa.aws.dk/adgangsadresser?kommunekode=' + properties.kommunekode + '&matrikelnr=' + properties.matrikelnr + '&ejerlavkode=' + properties.ejerlavkode).then((response) => {\r\n let json = response.data;\r\n Map.addresses = json;\r\n Map.infoBar.style.display = 'block';\r\n // i den ${Math.round(feature.getGeometry().getArea())}m² geografi\r\n Map.infoBar.children[1].innerHTML = `Tryk for at finde sager i det markerede områdeDer er fundet ${json.length} ${json.length === 1 ? 'adgangsadresse' : 'adgangsadresser'}`;\r\n }).catch(function (err) {\r\n })\r\n } else {\r\n let coordinates = feature.getGeometry().getCoordinates();\r\n if (feature.getGeometry().getType() === 'MultiPolygon') {\r\n coordinates = feature.getGeometry().getPolygon(0).getLinearRing(0).getCoordinates();\r\n } else {\r\n coordinates = feature.getGeometry().getLinearRing(0).getCoordinates();\r\n }\r\n axios.get('//dawa.aws.dk/jordstykker?srid=25832&polygon=' + JSON.stringify([coordinates])).then(response => {\r\n let json = response.data;\r\n let ejerlavsKoder = json.map(jordstykke => jordstykke.ejerlav.kode).join('|');\r\n let matrikelNumre = json.map(jordstykke => jordstykke.matrikelnr).join('|');\r\n Promise.all(json.map(jordstykke =>\r\n axios.get('//dawa.aws.dk/adgangsadresser/autocomplete?srid=25832&ejerlavkode=' + jordstykke.ejerlav.kode + '&matrikelnr=' + jordstykke.matrikelnr)\r\n .then((response) => response.data)\r\n .catch(function (err) {})\r\n )).then(values => {\r\n const json = values.reduce((arr, val) =>[...arr, ...val], [])\r\n Map.addresses = json;\r\n Map.infoBar.style.display = 'block';\r\n // i den ${Math.round(feature.getGeometry().getArea())}m² geografi\r\n Map.infoBar.children[1].innerHTML = `Tryk for at finde sager i det markerede områdeDer er fundet ${json.length} ${json.length === 1 ? 'adgangsadresse' : 'adgangsadresser'}`;\r\n })\r\n \r\n }).catch(error => {\r\n\r\n });\r\n \r\n }\r\n }\r\n\r\n const getAccessAddressesStreet = function (props) {\r\n axios.get('//dawa.aws.dk/adgangsadresser/autocomplete?per_side=40000&vejkode=' + props.kode + '&kommunekode=' + props.kommunekode).then((response) => {\r\n let json = response.data;\r\n Map.addresses = json;\r\n Map.infoBar.style.display = 'block';\r\n // i den ${Math.round(feature.getGeometry().getArea())}m² geografi\r\n Map.infoBar.children[1].innerHTML = `Tryk for at finde sager i det markerede områdeDer er fundet ${json.length} ${json.length === 1 ? 'adgangsadresse' : 'adgangsadresser'}`;\r\n }).catch(function (err) {\r\n })\r\n }\r\n\r\n const drawStart = function() {\r\n if (clearFeatures()) return;\r\n drawButton.classList.add('active');\r\n map.isDrawing = true;\r\n map.addInteraction(drawInteraction);\r\n };\r\n const drawFinished = function(e) {\r\n //getAccessAddresses(e.feature);\r\n drawEnd(e);\r\n };\r\n const drawEnd = function (e) {\r\n var geom = e.feature.getGeometry();\r\n \r\n map.hasDrawing = true;\r\n drawButton.classList.remove('active');\r\n //$('.search__input input').val('');\r\n //window.location.hash = '/map?type=matrikel&landsejerlavskode=' + response.data.ejerlav.kode + '&matrikelnr=' + response.data.matrikelnr;\r\n \r\n setTimeout(function() {\r\n map.isDrawing = false;\r\n });\r\n map.removeInteraction(drawInteraction);\r\n goToMap({\r\n type: 'geometry',\r\n geometry: getWkt(geom)\r\n });\r\n };\r\n\r\n const getWkt = function(geom) {\r\n var format = new ol.format.WKT();\r\n var wkt = format.writeGeometry(geom);\r\n return wkt;\r\n }\r\n\r\n const modifyStart = function () {\r\n modifyButton.classList.add('active');\r\n modifying = true;\r\n Map.Draw.Modify.isModifying = modifying;\r\n map.addInteraction(modifyInteraction);\r\n }\r\n\r\n const modifyEnd = function(e) {\r\n modifying = false;\r\n let feature = features.item(0);\r\n Map.Draw.Modify.isModifying = modifying;\r\n modifyButton.classList.remove('active');\r\n //if (feature.get('matrikelnr') {\r\n // let newFeature = new ol.Feature({\r\n // geometry: feature.getGeometry().clone()\r\n // });\r\n // features.clear();\r\n // features.push(newFeature);\r\n // feature = newFeature;\r\n //}\r\n //getAccessAddresses(features.item(0));\r\n map.removeInteraction(modifyInteraction);\r\n goToMap({\r\n type: 'geometry',\r\n geometry: getWkt(feature.getGeometry())\r\n });\r\n }\r\n Map.Draw = Map.Draw || {};\r\n Map.Draw.Modify = {};\r\n Map.Draw.Modify.stopModify = modifyEnd;\r\n\r\n const drawButtonClick = function () {\r\n if (map.isDrawing) {\r\n drawEnd();\r\n } else {\r\n if (map.getView().getResolution() <= 3.2) {\r\n \r\n drawStart();\r\n } else {\r\n alert('Zoom venligst længere ind for at bruge denne funktionalitet');\r\n }\r\n }\r\n }\r\n\r\n const modifyButtonClick = function() {\r\n if (modifying) {\r\n modifyEnd();\r\n } else {\r\n modifyStart();\r\n }\r\n }\r\n const clearFeatures = function() {\r\n if (features.getLength()) {\r\n map.hasDrawing = false;\r\n $('.search__input input').val('');\r\n\r\n let r = confirm('Vil du slette den nuværende markering?');\r\n if (!r) return true;\r\n Map.infoBar.style.display = 'none';\r\n Map.infoBar.children[1].innerHTML = '';\r\n features.clear();\r\n }\r\n }\r\n\r\n drawInteraction.on(\"drawend\", drawFinished);\r\n\r\n drawButton.addEventListener('click', drawButtonClick, false);\r\n //drawButton.addEventListener('touchstart', drawButtonClick, false);\r\n\r\n modifyButton.addEventListener('click', modifyButtonClick, false);\r\n //modifyButton.addEventListener('touchstart', modifyButtonClick, false);\r\n\r\n clearButton.addEventListener('click', clearFeatures, false);\r\n //clearButton.addEventListener('touchstart', clearFeatures, false);\r\n\r\n \r\n\r\n var element = document.createElement('div');\r\n element.className = 'ol-draw ol-unselectable ol-control';\r\n\r\n element.appendChild(modifyButton);\r\n element.appendChild(clearButton);\r\n element.appendChild(drawButton);\r\n const isPolygon = function (element) {\r\n return element.getGeometry() instanceof ol.geom.Polygon;\r\n }\r\n const isMultiPolygon = function (element) {\r\n return element.getGeometry() instanceof ol.geom.MultiPolygon;\r\n }\r\n features.on('add', function (e) {\r\n if (features.getLength() > 1)\r\n features.removeAt(0);\r\n if (e.element.get('kode')) {\r\n element.classList.add('has-feature');\r\n getAccessAddressesStreet(e.element.getProperties());\r\n }\r\n if (isPolygon(e.element) || isMultiPolygon(e.element)) {\r\n element.classList.add('has-feature');\r\n getAccessAddresses(features.item(0));\r\n }\r\n });\r\n\r\n features.on('remove', function () {\r\n element.classList.remove('has-feature');\r\n });\r\n\r\n function render() {\r\n if (!init) {\r\n init = true;\r\n map = this.getMap();\r\n map.addLayer(overlay);\r\n //map.getView().on('change:resolution', function (e) {\r\n // if (e.target.getResolution() <= 3.2) {\r\n // if (!map.isDrawing && !features.getLength())\r\n // drawButton.click();\r\n // } else {\r\n // if (map.isDrawing)\r\n // drawButton.click();\r\n // }\r\n //});\r\n \r\n }\r\n }\r\n\r\n ol.control.Control.call(this, {\r\n element: element,\r\n render: render,\r\n target: options.target,\r\n\r\n });\r\n\r\n this.setProperties({\r\n name: 'drawControl',\r\n drawInteraction: drawInteraction,\r\n features: features\r\n });\r\n};\r\nol.inherits(Map.DrawControl, ol.control.Control);","Map.GeolocationControl = function(opt_options) {\r\n\r\n var options = opt_options || {};\r\n\r\n var button = document.createElement('button');\r\n button.innerHTML = '';\r\n\r\n button.title = 'Find min lokation';\r\n\r\n var this_ = this;\r\n\r\n var showLocationOnMap = function() {\r\n Geolocation.getLocation({\r\n success: function(position) {\r\n var latitude = position.coords.latitude;\r\n var longitude = position.coords.longitude;\r\n var coord = ol.proj.transform([longitude, latitude], 'EPSG:4326', 'EPSG:25832');\r\n fetch('//dawa.aws.dk/jordstykker?cirkel=' + coord[0] + ',' + coord[1] + ',10&srid=25832&format=geojson').then(response => response.json()).then(function (response) {\r\n var geojson = new ol.format.GeoJSON();\r\n var features = geojson.readFeatures(response);\r\n Map.drawFeatures.extend(features);\r\n //geojson.readFeatures(response).forEach(function (feature) {\r\n // //if (feature.getGeometry().getType() === 'MultiPolygon') {\r\n // // feature.setGeometry(feature.getGeometry().getPolygon(0));\r\n // //}\r\n // Map.drawFeatures.push(feature);\r\n //});\r\n if (features.length) {\r\n var props = features[0].getProperties();\r\n Map.view.fit(Map.drawLayer.getSource().getExtent(), Map.map.getSize());\r\n window.location.hash = '/map?type=matrikel&landsejerlavskode=' + props.ejerlavkode + '&matrikelnr=' + props.matrikelnr;\r\n }\r\n });\r\n },\r\n error: function() {\r\n alert('Kan ikke finde din lokation');\r\n }\r\n })\r\n };\r\n\r\n button.addEventListener('click', showLocationOnMap, false);\r\n button.addEventListener('touchstart', showLocationOnMap, false);\r\n\r\n var element = document.createElement('div');\r\n element.className = 'ol-geolocation ol-unselectable ol-control';\r\n element.appendChild(button);\r\n\r\n ol.control.Control.call(this, {\r\n element: element,\r\n target: options.target\r\n });\r\n\r\n};\r\nol.inherits(Map.GeolocationControl, ol.control.Control);\r\n","Map.MapOverlay = function (opt_options) {\r\n 'use strict';\r\n var options = opt_options || {};\r\n var init = false;\r\n\r\n var element = document.createElement('div');\r\n element.innerHTML = ' ';\r\n element.className = 'map-overlay ol-unselectable ol-control';\r\n\r\n function render() {\r\n if (!init) {\r\n this.getMap().getView().on('change:resolution', function (e) {\r\n if (e.target.getResolution() <= 3.2) {\r\n element.style.display = 'none';\r\n } else {\r\n element.style.display = 'block';\r\n }\r\n });\r\n init = true;\r\n }\r\n \r\n }\r\n\r\n ol.control.Control.call(this, {\r\n render: render,\r\n element: element,\r\n target: options.target\r\n });\r\n\r\n\r\n};\r\nol.inherits(Map.MapOverlay, ol.control.Control);\r\n","Map.MiniMapControl = function(opt_options) {\r\n\r\n var options = opt_options || {};\r\n\r\n var button = document.createElement('button');\r\n button.innerHTML = '';\r\n var miniMap;\r\n\r\n var this_ = this;\r\n\r\n var view = new ol.View({\r\n center: dkCenter,\r\n projection: dkProjection,\r\n resolutions: dkResolutions,\r\n extent: dkExtent,\r\n zoom: 1\r\n });\r\n\r\n var ortoBig = Map.layers.getLayer('Luftfoto');\r\n var skaermBig = Map.layers.getLayer('Skærmkort');\r\n\r\n var orto = new ol.layer.Tile({\r\n source: new ol.source.WMTS({\r\n url: urlOrtoSping,\r\n layer: 'orto_foraar_wmts',\r\n matrixSet: 'KortforsyningTilingDK',\r\n format: 'image/jpeg',\r\n tileGrid: dkTileGrid,\r\n style: 'default'\r\n }),\r\n visible: true,\r\n extent: dkExtent,\r\n name: 'Luftfoto',\r\n type: 'base'\r\n });\r\n var skaerm = new ol.layer.Tile({\r\n source: new ol.source.WMTS({\r\n attributions: [new ol.Attribution({\r\n html: '© Geodatastyrelsen'\r\n })],\r\n url: urlTopoSkaermkortDaempet,\r\n projection: dkProjection,\r\n layer: 'topo_skaermkort_daempet',\r\n matrixSet: 'View1',\r\n format: 'image/jpeg',\r\n tileGrid: dkTileGrid,\r\n style: 'default',\r\n }),\r\n visible: false,\r\n extent: dkExtent,\r\n name: 'Skærmkort',\r\n type: 'base'\r\n });\r\n\r\n var minimapElm;\r\n\r\n\r\n var element = document.createElement('div');\r\n element.className = 'ol-minimap ol-unselectable ol-control';\r\n element.id = 'minimap';\r\n setTimeout(function() {\r\n\r\n }, 2000);\r\n\r\n element.onclick = function() {\r\n if (orto.getVisible()) {\r\n orto.setVisible(false);\r\n skaerm.setVisible(true);\r\n\r\n ortoBig.setVisible(true);\r\n skaermBig.setVisible(false);\r\n } else {\r\n orto.setVisible(true);\r\n skaerm.setVisible(false);\r\n\r\n ortoBig.setVisible(false);\r\n skaermBig.setVisible(true);\r\n }\r\n\r\n }\r\n function updateSize() {\r\n\r\n }\r\n function render() {\r\n if (minimapElm) return;\r\n\r\n minimapElm = true;\r\n\r\n var map = new ol.Map({\r\n target: element,\r\n layers: [orto, skaerm],\r\n view: view,\r\n logo: false,\r\n controls: [],\r\n interactions: []\r\n });\r\n\r\n Map.minimap = map;\r\n\r\n Map.map.on('moveend', function () {\r\n view.setCenter(Map.view.getCenter());\r\n view.setZoom(Map.view.getZoom() - 3);\r\n });\r\n }\r\n\r\n\r\n //element.appendChild(button);\r\n\r\n ol.control.Control.call(this, {\r\n element: element,\r\n render: render,\r\n target: options.target\r\n });\r\n\r\n};\r\nol.inherits(Map.MiniMapControl, ol.control.Control);\r\n","var overviewmap = function(opt_options) {\r\n \r\n\r\n\r\n var options = opt_options || {};\r\n\r\n var that = this;\r\n\r\n var elm = document.createElement('div');\r\n //elm.className = 'hello';\r\n\r\n \r\n\r\n\r\n\r\n\r\n ol.control.OverviewMap.call(this, {\r\n layers: options.layers,\r\n view: options.view\r\n });\r\n\r\n\r\n}\r\n\r\nol.inherits(overviewmap, ol.control.OverviewMap);\r\n\r\noverviewmap.prototype.setMap = function(map) {\r\n ol.control.OverviewMap.prototype.setMap.call(this, map);\r\n\r\n //this.element.addEventListener('click', function() {\r\n //});\r\n}\r\noverviewmap.prototype.resetExtent_ = function() {\r\n if (ol.OVERVIEWMAP_MAX_RATIO === 0 || ol.OVERVIEWMAP_MIN_RATIO === 0) {\r\n return;\r\n }\r\n ol.control.OverviewMap.prototype.resetExtent_.call(this);\r\n var map = this.getMap();\r\n var ovmap = this.ovmap_;\r\n\r\n var mapSize = map.getSize();\r\n\r\n var view = map.getView();\r\n var extent = view.calculateExtent(mapSize);\r\n\r\n var ovmapSize = ovmap.getSize();\r\n\r\n var ovview = ovmap.getView();\r\n\r\n var steps = Math.log(\r\n ol.OVERVIEWMAP_MAX_RATIO / ol.OVERVIEWMAP_MIN_RATIO) / Math.LN2;\r\n var ratio = 1 / (Math.pow(2, steps / 2) * ol.OVERVIEWMAP_MIN_RATIO);\r\n\r\n ol.extent.scaleFromCenter(extent, ratio);\r\n\r\n\r\n ovview.fit(extent, ovmapSize);\r\n};\r\n\r\n\r\n\r\n","Map.Search = function(opt_options) {\r\n\r\n var options = opt_options || {};\r\n\r\n var this_ = this;\r\n\r\n var element = document.createElement('div');\r\n\r\n const searchModel = SearchModel();\r\n const searchView = SearchView(element);\r\n const addressesModel = AddressesModel();\r\n const addressesView = AddressesAutocompleteView({\r\n customEvents: {\r\n onSelect: (item, data) => {\r\n bottomSpace.hide();\r\n bottomSpace.blockEvents(1000);\r\n axios.get(data.adgangsadresse.href).then((response) => {\r\n let coord = ol.proj.transform(response.adgangspunkt.koordinater, 'EPSG:4326', 'EPSG:3857');\r\n Map.vectorLayer.getSource().addFeature(new ol.Feature({\r\n type: 'icon',\r\n geometry: new ol.geom.Point(coord),\r\n data: response\r\n }));\r\n Map.map.getView().setCenter(coord)\r\n })\r\n }\r\n }\r\n });\r\n const matrikelModel = MatrikelModel();\r\n const matrikelView = MatrikelAutocompleteView();\r\n const inputView = InputView();\r\n const topSpace = Space('input');\r\n const bottomSpace = Space('autocomplete', true);\r\n\r\n\r\n \r\n searchView.append(topSpace);\r\n searchView.append(bottomSpace);\r\n topSpace.append(inputView);\r\n bottomSpace.append(addressesView);\r\n bottomSpace.append(matrikelView);\r\n bottomSpace.attachEvent(inputView.getEvents().focus, 'show');\r\n bottomSpace.attachEvent(inputView.getEvents().blur, 'hide');\r\n addressesView.attachEvent(addressesModel.getEvents().dataChange, 'dataChange');\r\n addressesModel.attachEvent(searchModel.getEvents().search, 'input');\r\n matrikelView.attachEvent(matrikelModel.getEvents().dataChange, 'dataChange');\r\n matrikelModel.attachEvent(searchModel.getEvents().search, 'input');\r\n searchModel.attachEvent(inputView.getEvents().input, 'search');\r\n inputView.attachEvent(addressesView.getEvents().select, 'input');\r\n inputView.attachEvent(matrikelView.getEvents().select, 'input');\r\n\r\n element.className = 'ol-search';\r\n\r\n ol.control.Control.call(this, {\r\n element: element,\r\n target: options.target\r\n });\r\n\r\n};\r\nol.inherits(Map.Search, ol.control.Control);\r\n","Map.Tenant = function(opt_options) {\r\n\r\n var options = opt_options || {};\r\n\r\n var this_ = this;\r\n\r\n var element = document.createElement('div');\r\n element.innerHTML =\r\n '' +\r\n 'BYGGESAGSARKIVETRoskilde Kommunes digitale byggesager
'\r\n element.className = 'ol-tenant';\r\n\r\n ol.control.Control.call(this, {\r\n element: element,\r\n target: options.target\r\n });\r\n\r\n};\r\nol.inherits(Map.Tenant, ol.control.Control);\r\n","Map.layers = (function() {\r\n\r\n var layers = [];\r\n\r\n function _addToMap(layer) {\r\n Map.map.addLayer(layer);\r\n }\r\n\r\n // Adds layer to list\r\n function setLayer(newLayer) {\r\n // Checks if map is initialized if not then the cunclution must be that the layers are gonna be passed directly in the map initialization.\r\n if (typeof(Map.map) !== 'undefined') {\r\n _addToMap(newLayer);\r\n }\r\n layers.push(newLayer);\r\n }\r\n\r\n // Adds layers to list\r\n function setLayers(newLayers) {\r\n // Checks if map is initialized if not then the cunclution must be that the layers are gonna be passed directly in the map initialization.\r\n if (typeof(Map.map) !== 'undefined') {\r\n for (var i = 0; i < newLayers.length; i++) {\r\n _addToMap(newLayers[i]);\r\n }\r\n }\r\n layers = layers.concat(newLayers);\r\n }\r\n\r\n // Gets the first matching layer\r\n function getLayer(name) {\r\n return layers.filter(layer => layer.getProperties().name === name)[0];\r\n // for (var i = 0; i < layers.length; i++) {\r\n // if (layers[i].getProperties().name === name) {\r\n // return layers[i];\r\n // }\r\n // }\r\n }\r\n\r\n // Gets layers by type. If type is undefined it returns all layers\r\n function getLayers(type) {\r\n if (type === undefined) {\r\n return layers;\r\n }\r\n return layers.filter(function(layer) {\r\n return layer.getProperties().type === type ? true : false;\r\n });\r\n }\r\n\r\n return {\r\n getLayer: getLayer,\r\n getLayers: getLayers,\r\n setLayer: setLayer,\r\n setLayers: setLayers\r\n }\r\n\r\n}());\r\n","Map.styles = (function() {\r\n\r\n var styles = [];\r\n\r\n // Adds style to list\r\n function setStyle(newStyle) {\r\n styles.push(newStyle);\r\n }\r\n\r\n // Adds styles to list\r\n function setStyles(newStyles) {\r\n styles = styles.concat(newStyles);\r\n }\r\n\r\n // Gets the first matching style\r\n function getStyle(name) {\r\n for (var i = 0; i < styles.length; i++) {\r\n if (styles[i].properties.name === name) {\r\n return styles[i];\r\n }\r\n }\r\n }\r\n\r\n // Gets styles\r\n function getStyles() {\r\n return styles;\r\n }\r\n\r\n return {\r\n getStyle: getStyle,\r\n getStyles: getStyles,\r\n setStyle: setStyle,\r\n setStyles: setStyles\r\n }\r\n\r\n}());\r\n","var roskildeBbox = [\r\n 687405.99,\r\n 6156383.02,\r\n 704228.34,\r\n 6186038.19\r\n];\r\nMap.clearMap = function () {\r\n}\r\nMap.styles = {\r\n 'icon': new ol.style.Style({\r\n image: new ol.style.Icon({\r\n anchor: [0.3333333333333333, 0.8181818181818182],\r\n // anchorOrigin: 'bottom-center',\r\n src: '/images/map-location-marker.png'\r\n }),\r\n zIndex: 99\r\n }),\r\n circle: new ol.style.Style({\r\n image: new ol.style.Circle({\r\n radius: 10,\r\n fill: new ol.style.Fill({\r\n color: \"#a00a0a\"\r\n }),\r\n cursor: \"pointer\",\r\n stroke: new ol.style.Stroke({\r\n color: \"#ffffff\",\r\n width: 2\r\n })\r\n }),\r\n zIndex: 3\r\n })\r\n};\r\nMap.vectorLayer = new ol.layer.Vector({\r\n source: new ol.source.Vector(),\r\n style: function (feature) {\r\n return Map.styles[feature.get('type')];\r\n },\r\n extent: dkExtent,\r\n name: 'Marker',\r\n zIndex: 99999,\r\n visible: true\r\n});\r\nMap.drawFeatures = new ol.Collection();\r\nMap.drawLayer = new ol.layer.Vector({\r\n source: new ol.source.Vector({ features: Map.drawFeatures }),\r\n name: 'drawLayer',\r\n style: new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'transparent'\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: \"#4b91e2\",\r\n width: 2\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 7,\r\n fill: new ol.style.Fill({\r\n color: '#ffcc33'\r\n })\r\n })\r\n })\r\n});\r\nMap.popupElement = document.getElementById('map-popup');\r\nMap.popup = new ol.Overlay({\r\n element: Map.popupElement,\r\n //autoPan: true,\r\n positioning: 'bottom-center',\r\n //autoPanAnimation: {\r\n // duration: 250\r\n //}\r\n});\r\nMap.gdsAttr = new ol.Attribution({\r\n html: '© 2015 Geodatastyrelsen<\\/a>'\r\n});\r\n\r\nMap.layers.setLayers([\r\n new ol.layer.Tile({\r\n source: new ol.source.WMTS({\r\n attributions: [Map.gdsAttr],\r\n url: urlTopoSkaermkortDaempet,\r\n layer: 'topo_skaermkort_daempet',\r\n matrixSet: 'View1',\r\n format: 'image/jpeg',\r\n tileGrid: dkTileGrid,\r\n style: 'default',\r\n }),\r\n extent: dkExtent,\r\n name: 'Skærmkort',\r\n type: 'base'\r\n }),\r\n new ol.layer.Tile({\r\n source: new ol.source.WMTS({\r\n attributions: [Map.gdsAttr],\r\n url: urlOrtoSping,\r\n layer: 'orto_foraar_wmts',\r\n matrixSet: 'KortforsyningTilingDK',\r\n format: 'image/jpeg',\r\n tileGrid: dkTileGrid,\r\n style: 'default'\r\n }),\r\n visible: false,\r\n extent: dkExtent,\r\n name: 'Luftfoto',\r\n type: 'base'\r\n }),\r\n Map.vectorLayer,\r\n Map.drawLayer,\r\n new ol.layer.Image({\r\n source: new ol.source.ImageWMS({\r\n attributions: [Map.gdsAttr],\r\n url: \"https://services.datafordeler.dk/MATRIKEL/MatrikelGaeldendeOgForeloebigWMS/1.0.0/Wms?\" + dafLogin,\r\n params: {\r\n \"LAYERS\": \"Jordstykke_Gaeldende\",\r\n \"STYLES\": \"Jordstykke_Gaeldende_Roed\",\r\n \"TRANSPARENT\": \"TRUE\",\r\n \"FORMAT\": \"image/png\"\r\n },\r\n //params: {\r\n // servicename: \"mat\",\r\n // layers: \"Jordstykke,MatrikelSkel,OptagetVej\",\r\n // ticket: kfTicket,\r\n // sld_body: '