{"version":3,"file":"kartor.min.js","sources":["kartor.js"],"sourcesContent":["'use strict';\r\n\r\nlet zIndexForPopup = 10;\r\nlet primarSvgRaknare;\r\nlet sekundarSvgRaknare;\r\nlet infoWindow = null;\r\n\r\nconst kartor = {\r\n ikonLokalPrimar: '/gui/img/pin-lokal-primar.svg',\r\n ikonLokalSekundar: '/gui/img/pin-lokal-sekundar.svg',\r\n ikonFastighetPrimar: '/gui/img/pin-fastighet-primar.svg',\r\n ikonFastighetSekundar: '/gui/img/pin-fastighet-sekundar.svg',\r\n ikonProjektPrimar: '/gui/img/pin-projekt-primar.svg',\r\n ikonProjektSekundar: '/gui/img/pin-projekt-sekundar.svg',\r\n zoomLevelForAttVisaAntal: 12,\r\n\r\n initieraKarta: function (initMap) {\r\n const apiKey = document.getElementById('mapsApiKey');\r\n if (apiKey) {\r\n\r\n if (typeof google === 'object' && typeof google.maps === 'object') {\r\n initMap();\r\n\r\n var scrollpos = sessionStorage.getItem('scrollpos');\r\n if (scrollpos) {\r\n let main = document.querySelector('main');\r\n main.scrollTo(0, scrollpos);\r\n sessionStorage.removeItem('scrollpos');\r\n }\r\n } else {\r\n $.ajax({\r\n url: 'https://maps.googleapis.com/maps/api/js?key=' + apiKey.value + '&libraries=&v=beta',\r\n dataType: 'script',\r\n success: function() {\r\n\r\n initMap();\r\n\r\n var scrollpos = sessionStorage.getItem('scrollpos');\r\n if (scrollpos) {\r\n let main = document.querySelector('main');\r\n main.scrollTo(0, scrollpos);\r\n sessionStorage.removeItem('scrollpos');\r\n }\r\n },\r\n\r\n async: true\r\n });\r\n\r\n window.google = {};\r\n }\r\n }\r\n },\r\n skapaKarta: function (element, latitud, longitud, overrideZoomFactor, overrideControlPosition, fullscreenMap) {\r\n const mapsMapId = document.getElementById('mapsMapId').value;\r\n const zoomFactorElement = document.getElementById('zoomFactor');\r\n let zoomFactor = 15;\r\n let controlPosition = google.maps.ControlPosition.RIGHT_BOTTOM;\r\n if (zoomFactorElement) {\r\n zoomFactor = zoomFactorElement.value;\r\n }\r\n\r\n let center = null;\r\n\r\n if (latitud && longitud) {\r\n center = new google.maps.LatLng(latitud, longitud);\r\n }\r\n\r\n if (overrideZoomFactor) {\r\n zoomFactor = overrideZoomFactor;\r\n }\r\n\r\n if (overrideControlPosition) {\r\n controlPosition = overrideControlPosition;\r\n }\r\n\r\n return new google.maps.Map(element, {\r\n zoom: parseFloat(zoomFactor),\r\n gestureHandling: 'cooperative',\r\n mapId: mapsMapId,\r\n streetViewControlOptions: {\r\n position: controlPosition\r\n },\r\n zoomControl: true,\r\n zoomControlOptions: {\r\n style: google.maps.ZoomControlStyle.SMALL,\r\n position: controlPosition\r\n\r\n },\r\n center: center,\r\n mapTypeControl: true,\r\n mapTypeControlOptions: {\r\n mapTypeIds: [\r\n google.maps.MapTypeId.ROADMAP,\r\n google.maps.MapTypeId.SATELLITE,\r\n google.maps.MapTypeId.HYBRID\r\n ],\r\n style: fullscreenMap ? google.maps.MapTypeControlStyle.DROPDOWN_MENU : google.maps.MapTypeControlStyle.HORIZONTAL_BAR,\r\n position: fullscreenMap ? google.maps.ControlPosition.TOP_CENTER : google.maps.ControlPosition.TOP_LEFT\r\n },\r\n fullscreenControl: fullscreenMap ? false : true,\r\n zIndex:1040\r\n });\r\n },\r\n marker: function (latitud, longitud, map, icon) {\r\n return new google.maps.Marker({\r\n position: new google.maps.LatLng(latitud, longitud),\r\n icon: {\r\n url: icon\r\n },\r\n map: map\r\n });\r\n },\r\n skapaPopupHtmlFranObjekt: function (objekt, iGrupp = false) {\r\n const cardInfo = objekt.querySelector('.card-body').outerHTML;\r\n const objektTyp = objekt.getAttribute('data-objekttyp');\r\n\r\n const slides = objekt.querySelectorAll('.slick-slide');\r\n let cssClass = objekt.classList[0];\r\n let slidesHtml = '';\r\n\r\n slides.forEach(function (slide) {\r\n slidesHtml += slide.outerHTML.replace('slick-current', '').replace('slick-active', '')\r\n .replace('slick-slide', '');\r\n });\r\n\r\n if (iGrupp) {\r\n cssClass += ' popup-i-grupp';\r\n }\r\n\r\n let popup = '