(function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(require("angular")); else if(typeof define === 'function' && define.amd) define(["angular"], factory); else { var a = typeof exports === 'object' ? factory(require("angular")) : factory(root["angular"]); for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i]; } })(window, function(__WEBPACK_EXTERNAL_MODULE__0__) { return /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { /******/ configurable: false, /******/ enumerable: true, /******/ get: getter /******/ }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 1); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports) { module.exports = __WEBPACK_EXTERNAL_MODULE__0__; /***/ }), /* 1 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); var style_namespaceObject = {}; __webpack_require__.d(style_namespaceObject, "map", function() { return style_map; }); __webpack_require__.d(style_namespaceObject, "offline", function() { return offline; }); __webpack_require__.d(style_namespaceObject, "offlineLabel", function() { return offlineLabel; }); // EXTERNAL MODULE: external "angular" var external_angular_ = __webpack_require__(0); var external_angular_default = /*#__PURE__*/__webpack_require__.n(external_angular_); // CONCATENATED MODULE: ./src/style/index.js var style_map = { width: '100%', height: '100%', display: 'none' }; var offline = { width: '100%', height: '100%', backgroundColor: '#E6E6E6', position: 'relative', display: 'none' }; var offlineLabel = { fontSize: '30px', margin: 0, position: 'absolute', top: '50%', left: '50%', 'margin-right': '-50%', transform: 'translate(-50%, -50%)' }; // CONCATENATED MODULE: ./src/helper/validate.js function nullCheck(val, msg) { if (isNull(val)) { throw new Error(msg); } } function arrayCheck(val, msg) { if (!isArray(val)) { throw new Error(msg); } } function isNull(obj) { return obj === null || obj === undefined; } function isUndefined(obj) { return obj === undefined; } function isNumber(obj) { return Object.prototype.toString.call(obj) === '[object Number]'; } function isArray(obj) { return Object.prototype.toString.call(obj) === '[object Array]'; } var CONTROL_TYPS = ['navigation', 'overviewmap', 'scale', 'maptype', 'copyright', 'geolocation', 'panorama']; function controlTypeCheck(type) { if (CONTROL_TYPS.indexOf((type || '').toLowerCase()) < 0) { throw new Error('control type should be one of: [' + CONTROL_TYPS.join(',') + ']'); } } var OVERLAY_TYPS = ['heatmap']; function overlayTypeCheck(type) { if (OVERLAY_TYPS.indexOf((type || '').toLowerCase()) < 0) { throw new Error('overlay type should be one of: [' + OVERLAY_TYPS.join(',') + ']'); } } // CONCATENATED MODULE: ./src/helper/map.js var map_DEFAULT_COORDINATION = { longitude: 121.506191, latitude: 31.245554 }; var map_DEFAULT_ZOOM = 10; function map_create(element, mapOptions) { var map = new BMap.Map(element, mapOptions); map_refresh(map, mapOptions); return map; } function map_refresh(map, mapOptions) { if (!isNull(mapOptions) && !isNull(mapOptions.disableDragging)) { map[(mapOptions.disableDragging ? 'disable' : 'enable') + 'Dragging'](); } if (!isNull(mapOptions) && !isNull(mapOptions.enableScrollWheelZoom)) { map[(mapOptions.enableScrollWheelZoom ? 'enable' : 'disable') + 'ScrollWheelZoom'](); } if (!isNull(mapOptions) && !isNull(mapOptions.disableDoubleClickZoom)) { map[(mapOptions.disableDoubleClickZoom ? 'disable' : 'enable') + 'DoubleClickZoom'](); } if (!isNull(mapOptions) && !isNull(mapOptions.enableKeyboard)) { map[(mapOptions.enableKeyboard ? 'enable' : 'disable') + 'Keyboard'](); } if (!isNull(mapOptions) && !isNull(mapOptions.enableInertialDragging)) { map[(mapOptions.enableInertialDragging ? 'enable' : 'disable') + 'InertialDragging'](); } if (!isNull(mapOptions) && !isNull(mapOptions.enableContinuousZoom)) { map[(mapOptions.enableContinuousZoom ? 'enable' : 'disable') + 'ContinuousZoom'](); } if (!isNull(mapOptions) && !isNull(mapOptions.disablePinchToZoom)) { map[(mapOptions.disablePinchToZoom ? 'disable' : 'enable') + 'PinchToZoom'](); } !isNull(mapOptions) && !isNull(mapOptions.cursor) && map.setDefaultCursor(mapOptions.cursor); !isNull(mapOptions) && !isNull(mapOptions.draggingCursor) && map.setDraggingCursor(mapOptions.draggingCursor); !isNull(mapOptions) && !isNull(mapOptions.currentCity) && map.setCurrentCity(mapOptions.currentCity); !isNull(mapOptions) && !isNull(mapOptions.centerAndZoom) && map.centerAndZoom(new BMap.Point(mapOptions.centerAndZoom.longitude || map_DEFAULT_COORDINATION.longitude, mapOptions.centerAndZoom.latitude || map_DEFAULT_COORDINATION.latitude), mapOptions.centerAndZoom.zoom || map_DEFAULT_ZOOM); } // CONCATENATED MODULE: ./src/components/baiduMap.js var baiduMap_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; }; }(); function baiduMap_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } /* harmony default export */ var baiduMap = ({ bindings: { offlineTxt: '<', mapOptions: '<', loaded: '&', click: '&' }, transclude: true, template: '\n
\n
\n \n
\n
\n ', controller: function () { /* @ngInject */ function controller($scope, $element, $attrs, mapScriptService) { baiduMap_classCallCheck(this, controller); this.$scope = $scope; this.$element = $element; this.$attrs = $attrs; this.style = style_namespaceObject; this.mapScriptService = mapScriptService; } baiduMap_createClass(controller, [{ key: '$onInit', value: function $onInit() { var _this = this; this.mapReady = this.mapScriptService.load().then(function () { return map_create(_this.$element.children()[0], _this.mapOptions); }).then(function (map) { _this.loaded({ map: map }); _this.$scope.$apply(); // eslint-disable-next-line return _this.map = map; }).then(function () { if (!_this.$attrs.click) { return; } var clickListener = _this.clickListener = function (e) { _this.click({ e: e }); _this.$scope.$apply(); }; _this.map.addEventListener('click', clickListener); }); } }, { key: '$onChanges', value: function $onChanges(changes) { if (!this.map) { return; } map_refresh(this.map, changes.mapOptions.currentValue); } }, { key: '$onDestroy', value: function $onDestroy() { this.map.removeEventListener('click', this.clickListener); } }, { key: 'addOverlay', value: function addOverlay(marker) { return baiduMap_handleMapOperation(this.map, 'addOverlay', marker); } }, { key: 'removeOverlay', value: function removeOverlay(marker) { return baiduMap_handleMapOperation(this.map, 'removeOverlay', marker); } }, { key: 'addControl', value: function addControl(control) { return baiduMap_handleMapOperation(this.map, 'addControl', control); } }, { key: 'removeControl', value: function removeControl(control) { return baiduMap_handleMapOperation(this.map, 'removeControl', control); } }, { key: 'getMap', value: function getMap() { return this.map; } }]); return controller; }() }); function baiduMap_handleMapOperation(map, method) { for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { args[_key - 2] = arguments[_key]; } return new Promise(function (resolve) { map[method].apply(map, args); resolve(); }); } // CONCATENATED MODULE: ./src/helper/transformer.js function transformer_transformIcon(icon, field) { var opts = { url: icon.url }; nullCheck(icon.url, 'url is required in ' + field); nullCheck(icon.size, 'size is required in ' + field); opts.size = transformer_transformSize(icon.size, field + '.size'); return new BMap.Icon(opts.url, opts.size); } function transformer_transformSize(size, field) { nullCheck(size.width, 'width is required in ' + field); nullCheck(size.height, 'height is required in ' + field); return new BMap.Size(size.width, size.height); } function transformer_transformPoint(point, field) { nullCheck(point.longitude, 'longitude is required in ' + field); nullCheck(point.latitude, 'latitude is required in ' + field); return new BMap.Point(point.longitude, point.latitude); } function transformer_transformPoints(points, field) { arrayCheck(points, field + ' must be Array'); return points.map(function (point) { nullCheck(point.longitude, 'longitude is required in ' + field); nullCheck(point.latitude, 'latitude is required in ' + field); return new BMap.Point(point.longitude, point.latitude); }); } // CONCATENATED MODULE: ./src/components/marker.js var marker_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; }; }(); function marker_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } /* harmony default export */ var components_marker = ({ bindings: { point: '<', options: '<', loaded: '&', click: '&' }, require: { mapCtrl: '^baiduMap' }, template: '', controller: function () { /* @ngInject */ function controller($scope, $attrs) { marker_classCallCheck(this, controller); this.$scope = $scope; this.$attrs = $attrs; } marker_createClass(controller, [{ key: '$onInit', value: function $onInit() { var _this = this; nullCheck(this.point, 'point is required for '); this.mapCtrl.mapReady.then(function () { var point = transformer_transformPoint(_this.point, ' point'); var opts = marker_transformOptions(_this.options); var marker = _this.marker = new BMap.Marker(point, opts); _this.mapCtrl.addOverlay(marker); return marker; }).then(function (marker) { _this.loaded({ marker: marker }); _this.$scope.$apply(); if (!_this.$attrs.click) { return; } _this.clickHandler = function (e) { _this.click({ e: e, marker: marker, map: _this.mapCtrl.getMap() }); _this.$scope.$apply(); }; marker.addEventListener('click', _this.clickHandler); }); } }, { key: '$onChanges', value: function $onChanges(changes) { if (!this.marker) { return; } if (changes.point && changes.point.currentValue) { this.marker.setPosition(transformer_transformPoint(changes.point.currentValue, ' point')); } } }, { key: '$onDestroy', value: function $onDestroy() { this.marker.removeEventListener('click', this.clickHandler); this.mapCtrl.removeOverlay(this.marker); } }]); return controller; }() }); function marker_transformOptions(options) { var opts = JSON.parse(JSON.stringify(options || {})); if (opts.offset) { opts.offset = transformer_transformSize(opts.offset, ' options.offset'); } if (opts.icon) { opts.icon = transformer_transformIcon(opts.icon, ' options.icon'); } if (opts.shadow) { opts.shadow = transformer_transformIcon(opts.shadow, ' options.shadow'); } return opts; } // CONCATENATED MODULE: ./src/components/polyline.js var polyline_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; }; }(); function polyline_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } /* harmony default export */ var components_polyline = ({ bindings: { points: '<', options: '<', loaded: '&' }, require: { mapCtrl: '^baiduMap' }, template: '', controller: function () { /* @ngInject */ function controller($scope, $attrs) { polyline_classCallCheck(this, controller); this.$scope = $scope; this.$attrs = $attrs; } polyline_createClass(controller, [{ key: '$onInit', value: function $onInit() { var _this = this; nullCheck(this.points, 'points is required for '); this.mapCtrl.mapReady.then(function () { var points = transformer_transformPoints(_this.points, ' points'); var opts = _this.options; var polyline = _this.polyline = new BMap.Polyline(points, opts); _this.mapCtrl.addOverlay(polyline); return polyline; }).then(function (polyline) { _this.loaded({ polyline: polyline }); _this.$scope.$apply(); }); } }, { key: '$onChanges', value: function $onChanges(changes) { if (!this.polyline) { return; } if (changes.points && changes.points.currentValue) { this.polyline.setPath(transformer_transformPoints(changes.points.currentValue, ' points')); } if (!changes.options || !changes.options.currentValue) { return; } if (!isUndefined(changes.options.currentValue.strokeColor)) { this.polyline.setStrokeColor(changes.options.currentValue.strokeColor); } if (!isUndefined(changes.options.currentValue.strokeWeight)) { this.polyline.setStrokeWeight(changes.options.currentValue.strokeWeight); } if (!isUndefined(changes.options.currentValue.strokeOpacity)) { this.polyline.setStrokeOpacity(changes.options.currentValue.strokeOpacity); } if (!isUndefined(changes.options.currentValue.strokeStyle)) { this.polyline.setStrokeStyle(changes.options.currentValue.strokeStyle); } if (!isUndefined(changes.options.currentValue.enableMassClear)) { this.polyline[changes.options.currentValue.enableMassClear ? 'enableMassClear' : 'disableMassClear'](); } if (!isUndefined(changes.options.currentValue.enableEditing)) { this.polyline[changes.options.currentValue.enableEditing ? 'enableEditing' : 'disableEditing'](); } } }, { key: '$onDestroy', value: function $onDestroy() { this.mapCtrl.removeOverlay(this.polyline); } }]); return controller; }() }); // CONCATENATED MODULE: ./src/components/circle.js var circle_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; }; }(); function circle_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } /* harmony default export */ var components_circle = ({ bindings: { center: '<', radius: '<', options: '<', loaded: '&' }, require: { mapCtrl: '^baiduMap' }, template: '', controller: function () { /* @ngInject */ function controller($scope, $attrs) { circle_classCallCheck(this, controller); this.$scope = $scope; this.$attrs = $attrs; } circle_createClass(controller, [{ key: '$onInit', value: function $onInit() { var _this = this; nullCheck(this.center, 'center is required for '); nullCheck(this.radius, 'radius is required for '); this.mapCtrl.mapReady.then(function () { var center = _this.center, radius = _this.radius, options = _this.options; var point = transformer_transformPoint(center, ' center'); var circle = _this.circle = new BMap.Circle(point, radius, options); _this.mapCtrl.addOverlay(circle); return circle; }).then(function (circle) { _this.loaded({ circle: circle }); _this.$scope.$apply(); }); } }, { key: '$onChanges', value: function $onChanges(changes) { if (!this.circle) { return; } if (changes.center && changes.center.currentValue) { this.circle.setCenter(transformer_transformPoint(changes.center.currentValue, ' center')); } if (changes.radius && changes.radius.currentValue) { this.circle.setRadius(changes.radius.currentValue); } if (!changes.options || !changes.options.currentValue) { return; } if (!isUndefined(changes.options.currentValue.strokeColor)) { this.circle.setStrokeColor(changes.options.currentValue.strokeColor); } if (!isUndefined(changes.options.currentValue.strokeWeight)) { this.circle.setStrokeWeight(changes.options.currentValue.strokeWeight); } if (!isUndefined(changes.options.currentValue.strokeOpacity)) { this.circle.setStrokeOpacity(changes.options.currentValue.strokeOpacity); } if (!isUndefined(changes.options.currentValue.strokeStyle)) { this.circle.setStrokeStyle(changes.options.currentValue.strokeStyle); } if (!isUndefined(changes.options.currentValue.fillOpacity)) { this.circle.setFillOpacity(changes.options.currentValue.fillOpacity); } if (!isUndefined(changes.options.currentValue.fillColor)) { this.circle.setFillColor(changes.options.currentValue.fillColor); } if (!isUndefined(changes.options.currentValue.enableMassClear)) { this.circle[changes.options.currentValue.enableMassClear ? 'enableMassClear' : 'disableMassClear'](); } if (!isUndefined(changes.options.currentValue.enableEditing)) { this.circle[changes.options.currentValue.enableEditing ? 'enableEditing' : 'disableEditing'](); } } }, { key: '$onDestroy', value: function $onDestroy() { this.mapCtrl.removeOverlay(this.circle); } }]); return controller; }() }); // CONCATENATED MODULE: ./src/components/polygon.js var polygon_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; }; }(); function polygon_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } /* harmony default export */ var components_polygon = ({ bindings: { points: '<', options: '<', loaded: '&' }, require: { mapCtrl: '^baiduMap' }, template: '', controller: function () { /* @ngInject */ function controller($scope, $attrs) { polygon_classCallCheck(this, controller); this.$scope = $scope; this.$attrs = $attrs; } polygon_createClass(controller, [{ key: '$onInit', value: function $onInit() { var _this = this; nullCheck(this.points, 'points is required for '); this.mapCtrl.mapReady.then(function () { var points = transformer_transformPoints(_this.points, ' points'); var opts = _this.options; var polygon = _this.polygon = new BMap.Polygon(points, opts); _this.mapCtrl.addOverlay(polygon); return polygon; }).then(function (polygon) { _this.loaded({ polygon: polygon }); _this.$scope.$apply(); }); } }, { key: '$onChanges', value: function $onChanges(changes) { if (!this.polygon) { return; } if (changes.points && changes.points.currentValue) { this.polygon.setPath(transformer_transformPoints(changes.points.currentValue, ' points')); } if (!changes.options || !changes.options.currentValue) { return; } if (!isUndefined(changes.options.currentValue.strokeColor)) { this.polygon.setStrokeColor(changes.options.currentValue.strokeColor); } if (!isUndefined(changes.options.currentValue.fillColor)) { this.polygon.setFillColor(changes.options.currentValue.fillColor); } if (!isUndefined(changes.options.currentValue.strokeWeight)) { this.polygon.setStrokeWeight(changes.options.currentValue.strokeWeight); } if (!isUndefined(changes.options.currentValue.strokeOpacity)) { this.polygon.setStrokeOpacity(changes.options.currentValue.strokeOpacity); } if (!isUndefined(changes.options.currentValue.fillOpacity)) { this.polygon.setFillOpacity(changes.options.currentValue.fillOpacity); } if (!isUndefined(changes.options.currentValue.strokeStyle)) { this.polygon.setStrokeStyle(changes.options.currentValue.strokeStyle); } if (!isUndefined(changes.options.currentValue.enableMassClear)) { this.polygon[changes.options.currentValue.enableMassClear ? 'enableMassClear' : 'disableMassClear'](); } if (!isUndefined(changes.options.currentValue.enableEditing)) { this.polygon[changes.options.currentValue.enableEditing ? 'enableEditing' : 'disableEditing'](); } } }, { key: '$onDestroy', value: function $onDestroy() { this.mapCtrl.removeOverlay(this.polygon); } }]); return controller; }() }); // CONCATENATED MODULE: ./src/helper/heatmapScriptLoader.js var SCRIPT_URL = '//api.map.baidu.com/library/Heatmap/2.0/src/Heatmap_min.js'; /* harmony default export */ var heatmapScriptLoader = (function () { var loadHeatMapPromise = window.loadHeatMapPromise; if (loadHeatMapPromise) { return loadHeatMapPromise; } // eslint-disable-next-line return window.loadHeatMapPromise = heatmapScriptLoader_appendScriptTag(SCRIPT_URL); }); function heatmapScriptLoader_appendScriptTag(url) { return new Promise(function (resolve, reject) { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = url; script.onerror = function () { document.body.removeChild(script); setTimeout(function () { heatmapScriptLoader_appendScriptTag(url); }, 30000); }; script.onload = resolve; document.body.appendChild(script); }); } // CONCATENATED MODULE: ./src/components/heatmap.js var heatmap_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; }; }(); function heatmap_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } /* harmony default export */ var heatmap = ({ bindings: { dataset: '<', options: '<', loaded: '&' }, require: { mapCtrl: '^baiduMap' }, template: '', controller: function () { /* @ngInject */ function controller($scope, $attrs) { heatmap_classCallCheck(this, controller); this.$scope = $scope; this.$attrs = $attrs; } heatmap_createClass(controller, [{ key: '$onInit', value: function $onInit() { var _this = this; this.mapCtrl.mapReady.then(function () { return heatmapScriptLoader(); }).then(function () { var heatmap = _this.heatmap = new BMapLib.HeatmapOverlay(_this.options); _this.mapCtrl.addOverlay(heatmap); return heatmap; }).then(function (heatmap) { _this.loaded({ heatmap: heatmap }); _this.$scope.$apply(); if (_this.dataset) { heatmap.setDataSet(_this.dataset); } }); } }, { key: '$onChanges', value: function $onChanges(changes) { if (!this.heatmap) { return; } if (changes.options && changes.options.currentValue) { this.heatmap.setOptions(changes.options.currentValue); } if (changes.dataset && changes.dataset.currentValue) { this.heatmap.setDataSet(changes.dataset.currentValue); } } }, { key: '$onDestroy', value: function $onDestroy() { this.mapCtrl.removeOverlay(this.heatmap); } }]); return controller; }() }); // CONCATENATED MODULE: ./src/components/control.js var control_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; }; }(); function control_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } /* harmony default export */ var control = ({ bindings: { type: '@', options: '<' }, require: { mapCtrl: '^baiduMap' }, template: '', controller: function () { /* @ngInject */ function controller() { control_classCallCheck(this, controller); } control_createClass(controller, [{ key: '$onInit', value: function $onInit() { var _this = this; controlTypeCheck(this.type); this.mapCtrl.mapReady.then(function () { return control_createControl(_this.type.toLowerCase(), _this.options); }).then(function (control) { _this.mapCtrl.addControl(control); _this.control = control; return control; }); } }, { key: '$onDestroy', value: function $onDestroy() { this.mapCtrl.removeControl(this.control); } }]); return controller; }() }); function control_createControl(type, options) { if (type === 'navigation') { return new BMap.NavigationControl(options); } if (type === 'overviewmap') { return new BMap.OverviewMapControl(options); } if (type === 'scale') { return new BMap.ScaleControl(options); } if (type === 'maptype') { return new BMap.MapTypeControl(options); } if (type === 'copyright') { var copyright = new BMap.CopyrightControl(options); if (isArray(options.copyrights)) { options.copyrights.forEach(function (r) { copyright.addCopyright(r); }); } return copyright; } if (type === 'geolocation') { return new BMap.GeolocationControl(options); } if (type === 'panorama') { return new BMap.PanoramaControl(options); } } // CONCATENATED MODULE: ./src/components/heatmap/index.js function heatmap_createHeatmapOverlay(options) { return heatmapScriptLoader().then(function () { return new BMapLib.HeatmapOverlay(options); }); } // CONCATENATED MODULE: ./src/components/overlay.js var overlay_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; }; }(); function overlay_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } /* harmony default export */ var overlay = ({ bindings: { type: '@', options: '<', dataset: '<' }, require: { mapCtrl: '^baiduMap' }, template: '', controller: function () { function controller() { overlay_classCallCheck(this, controller); } overlay_createClass(controller, [{ key: '$onInit', value: function $onInit() { var _this = this; overlayTypeCheck(this.type); this.realType = this.type.toLowerCase(); this.mapCtrl.mapReady.then(function () { return overlay_createOverlay(_this.realType, _this.options); }).then(function (overlay) { _this.mapCtrl.addOverlay(overlay); _this.overlay = overlay; overlay_setExtraData(_this.realType, _this.overlay, _this.dataset); return overlay; }); } }, { key: '$onChanges', value: function $onChanges(changes) { if (changes.dataset && changes.dataset.currentValue) { overlay_setExtraData(this.realType, this.overlay, changes.dataset.currentValue); } } }, { key: '$onDestroy', value: function $onDestroy() { this.mapCtrl.removeOverlay(this.overlay); } }]); return controller; }() }); function overlay_createOverlay(type, options) { if (type === 'heatmap') { console.warn('heatmap type is deprecated, please try with new component, see: https://leftstick.github.io/BaiduMapForAngularJS/#!/apidoc?api=heatmap'); return heatmap_createHeatmapOverlay(options); } } function overlay_setExtraData(type, overlay, data) { if (type === 'heatmap') { if (data) { overlay.setDataSet(data); } } } // CONCATENATED MODULE: ./src/provider/mapScript.js /* harmony default export */ var mapScript = (function () { var ak = null, MAP_URL = void 0; this.setKey = function (val) { ak = val; MAP_URL = '//api.map.baidu.com/api?v=2.0&ak=' + ak + '&callback=baidumapinit'; if (location.protocol.indexOf('http') > -1) { MAP_URL = MAP_URL + '&s=' + (location.protocol === 'https:' ? 1 : 0); } else { MAP_URL = 'https:' + MAP_URL + '&s=1'; } }; this.$get = function ($rootScope) { 'ngInject'; return { load: function load() { nullCheck(ak, 'ak should be set before use. Read: https://leftstick.github.io/BaiduMapForAngularJS/#!/quickstart'); var loadBaiduMapPromise = $rootScope.loadBaiduMapPromise; if (loadBaiduMapPromise) { return loadBaiduMapPromise.then(mapScript_displayMap); } //eslint-disable-next-line return $rootScope.loadBaiduMapPromise = new Promise(function (resolve, reject) { window.baidumapinit = resolve; mapScript_appendScriptTag(MAP_URL); }).then(mapScript_displayMap); } }; }; }); function mapScript_appendScriptTag(url) { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = url; script.onerror = function () { Array.prototype.slice.call(document.querySelectorAll('baidu-map .baidu-map-offline')).forEach(function (node) { node.style.display = 'block'; }); document.body.removeChild(script); setTimeout(function () { mapScript_appendScriptTag(url); }, 30000); }; document.body.appendChild(script); } function mapScript_displayMap() { return Array.prototype.slice.call(document.querySelectorAll('baidu-map')).forEach(function (node) { node.querySelector('.baidu-map-offline') && node.removeChild(node.querySelector('.baidu-map-offline')); node.querySelector('.baidu-map-instance').style.display = 'block'; }); } // CONCATENATED MODULE: ./src/helper/preset.js function globalConstants() { //ControlAnchor window.BMAP_ANCHOR_TOP_LEFT = 0; window.BMAP_ANCHOR_TOP_RIGHT = 1; window.BMAP_ANCHOR_BOTTOM_LEFT = 2; window.BMAP_ANCHOR_BOTTOM_RIGHT = 3; //NavigationControlType window.BMAP_NAVIGATION_CONTROL_LARGE = 0; window.BMAP_NAVIGATION_CONTROL_SMALL = 1; window.BMAP_NAVIGATION_CONTROL_PAN = 2; window.BMAP_NAVIGATION_CONTROL_ZOOM = 3; //LengthUnit window.BMAP_UNIT_METRIC = 'metric'; window.BMAP_UNIT_IMPERIAL = 'us'; //MapTypeControlType window.BMAP_MAPTYPE_CONTROL_HORIZONTAL = 0; window.BMAP_MAPTYPE_CONTROL_DROPDOWN = 1; window.BMAP_MAPTYPE_CONTROL_MAP = 2; //Animation window.BMAP_ANIMATION_DROP = 1; window.BMAP_ANIMATION_BOUNCE = 2; //SizeType window.BMAP_POINT_SIZE_TINY = 1; window.BMAP_POINT_SIZE_SMALLER = 2; window.BMAP_POINT_SIZE_SMALL = 3; window.BMAP_POINT_SIZE_NORMAL = 4; window.BMAP_POINT_SIZE_BIG = 5; window.BMAP_POINT_SIZE_BIGGER = 6; window.BMAP_POINT_SIZE_HUGE = 7; //PanoramaSceneType window.BMAP_PANORAMA_INDOOR_SCENE = 'inter'; window.BMAP_PANORAMA_STREET_SCENE = 'street'; //PanoramaPOIType window.BMAP_PANORAMA_POI_HOTEL = 'hotel'; window.BMAP_PANORAMA_POI_CATERING = 'catering'; window.BMAP_PANORAMA_POI_MOVIE = 'movie'; window.BMAP_PANORAMA_POI_TRANSIT = 'transit'; window.BMAP_PANORAMA_POI_INDOOR_SCENE = 'indoor_scene'; window.BMAP_PANORAMA_POI_NONE = 'none'; } // CONCATENATED MODULE: ./src/index.js /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ngBaiduMap", function() { return src_ngBaiduMap; }); globalConstants(); var src_moduleName = 'baiduMap'; external_angular_default.a.module(src_moduleName, []).provider('mapScriptService', mapScript).component('baiduMap', baiduMap).component('marker', components_marker).component('polyline', components_polyline).component('circle', components_circle).component('polygon', components_polygon).component('heatmap', heatmap).component('control', control).component('overlay', overlay); var src_ngBaiduMap = src_moduleName; /***/ }) /******/ ]); });