(window["webpackJsonp_name_"] = window["webpackJsonp_name_"] || []).push([[98],{ /***/ 88: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); exports.default = MapLoader; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function MapLoader() { if (window.maps instanceof Object && Object.keys(window.maps).length) { var APIkey = document.body.getAttribute('data-key'); var script = document.createElement('script'); script.async = true; script.defer = true; script.onload = function () { Object.keys(window.maps).forEach(function (key) { new Map({ key: key, settings: window.maps[key] }); }); }; if (APIkey === '#') { script.src = 'https://maps.googleapis.com/maps/api/js'; } else { script.src = 'https://maps.googleapis.com/maps/api/js?key=' + APIkey; } document.body.appendChild(script); } } var Map = function () { function Map(argv) { _classCallCheck(this, Map); this._argv = Object.assign({}, argv); this.map = document.querySelector('.' + this._argv.key); this.map && this.init(); } _createClass(Map, [{ key: 'init', value: function init() { var settings = this._argv.settings; var center_lat = settings.center_lat, center_lng = settings.center_lng; var center = { lat: parseFloat(center_lat) || -25.363, lng: parseFloat(center_lng) || 131.044 }; var config = { zoom: parseFloat(settings.zoom), draggable: settings.enableDraggable, mapTypeControl: settings.enableMapType, panControl: settings.enablePan, scaleControl: settings.enableScale, scrollwheel: settings.enableScroll, zoomControl: settings.enableZoom, center: center, styles: settings.style_json }; var mapObj = new google.maps.Map(this.map, config); new google.maps.Marker({ position: center, map: mapObj, icon: settings.marker_icon }); } }]); return Map; }(); /***/ }) }]);