{"version":3,"file":"./modules/locationBlock.bundle.js","mappings":"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","sources":["webpack://erfgoedhuis-zuid-holland-frontend/./scripts/controllers/locationBlock/controller.js","webpack://erfgoedhuis-zuid-holland-frontend/./scripts/controllers/locationBlock/locationBlock.js","webpack://erfgoedhuis-zuid-holland-frontend/./scripts/overview/mapStyling.js"],"sourcesContent":["import LocationBlock from './locationBlock';\n\nexport default class LocationBlockController {\n constructor() {\n this.instances = [];\n this.init();\n\n this.mapPromise = null; // Used to determine if the Maps api is available\n this.apiKey = null; // Maps API key\n }\n\n init() {\n if (document.querySelector('section.blLocationData .mapContainer[data-key]')) {\n this.apiKey = document.querySelector('section.blLocationData .mapContainer[data-key]').dataset.key;\n\n this.loadMapsApi().then(() => {\n document.querySelectorAll('section.blLocationData .mapContainer').forEach(mapContainer => {\n this.instances.push(new LocationBlock(mapContainer));\n });\n });\n }\n }\n\n loadMapsApi() {\n if (this.mapPromise) {\n return this.mapPromise;\n }\n\n this.mapPromise = new Promise((resolve, reject) => {\n if (window.google && window.google.maps) {\n resolve();\n } else if (this.map) {\n resolve();\n } else {\n // Create public function that gets called when Maps is loaded\n let functionName = `mapsLoaded_${Math.random().toString(12).substring(2, 12) + Math.random().toString(12).substring(2, 6)}`;\n window[functionName] = () => {\n delete window[functionName];\n resolve();\n }\n\n const script = document.createElement('script');\n script.setAttribute('src', `https://maps.googleapis.com/maps/api/js?key=${this.apiKey}&callback=${functionName}`);\n document.body.appendChild(script);\n }\n });\n\n return this.mapPromise;\n }\n}","import mapStyling from './../../overview/mapStyling';\n\nexport default class LocationBlock {\n constructor(container) {\n this.container = container;\n this.map = null;\n this.marker = null;\n this.lat = null;\n this.lon = null;\n\n this.init();\n }\n\n init() {\n if (this.container.dataset.lat && this.container.dataset.lon) {\n this.lat = parseFloat(this.container.dataset.lat);\n this.lon = parseFloat(this.container.dataset.lon);\n\n this.map = new google.maps.Map(this.container.querySelector('.map'), {\n center: {\n lat: this.lat,\n lng: this.lon\n },\n zoom: 15,\n draggable: false,\n styles: mapStyling,\n disableDefaultUI: true,\n });\n\n this.marker = new google.maps.Marker({\n map: this.map,\n position: {\n lat: this.lat,\n lng: this.lon\n },\n icon: {\n url: (document.body.classList.contains('heritage') ? '/img/heritage/map_marker_location.svg' : '/img/global/map_marker_location.svg'),\n size: new google.maps.Size(31, 39),\n origin: new google.maps.Point(0, 0),\n anchor: new google.maps.Point(3, 38),\n },\n });\n }\n }\n}","export default [\n {\n \"featureType\": \"all\",\n \"elementType\": \"geometry.fill\",\n \"stylers\": [\n {\n \"lightness\": \"34\"\n },\n {\n \"gamma\": \"1\"\n },\n {\n \"saturation\": \"10\"\n }\n ]\n },\n {\n \"featureType\": \"all\",\n \"elementType\": \"geometry.stroke\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"all\",\n \"elementType\": \"labels.text.stroke\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"poi\",\n \"elementType\": \"labels.icon\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"poi.attraction\",\n \"elementType\": \"labels.icon\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"poi.business\",\n \"elementType\": \"labels.icon\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"poi.government\",\n \"elementType\": \"labels.icon\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"poi.medical\",\n \"elementType\": \"labels.icon\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"poi.park\",\n \"elementType\": \"labels.icon\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"poi.school\",\n \"elementType\": \"labels.icon\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"poi.sports_complex\",\n \"elementType\": \"labels.icon\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"road.highway\",\n \"elementType\": \"labels.icon\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"road.arterial\",\n \"elementType\": \"labels.icon\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n },\n {\n \"featureType\": \"road.local\",\n \"elementType\": \"labels.icon\",\n \"stylers\": [\n {\n \"visibility\": \"off\"\n }\n ]\n }\n];"],"names":["LocationBlock","LocationBlockController","_classCallCheck","instances","init","mapPromise","apiKey","_createClass","key","value","_this","document","querySelector","dataset","loadMapsApi","then","querySelectorAll","forEach","mapContainer","push","_this2","Promise","resolve","reject","window","google","maps","map","functionName","concat","Math","random","toString","substring","script","createElement","setAttribute","body","appendChild","default","mapStyling","container","marker","lat","lon","parseFloat","Map","center","lng","zoom","draggable","styles","disableDefaultUI","Marker","position","icon","url","classList","contains","size","Size","origin","Point","anchor"],"sourceRoot":""}