UNPKG

antui-admin

Version:
71 lines (58 loc) 2.17 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _promise = require('babel-runtime/core-js/promise'); var _promise2 = _interopRequireDefault(_promise); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = function () { var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, key = _ref.key, _ref$timeout = _ref.timeout, timeout = _ref$timeout === undefined ? 10000 : _ref$timeout, _ref$v = _ref.v, v = _ref$v === undefined ? 1.3 : _ref$v, plugin = _ref.plugin, service = _ref.service; var callbackName = '__mapsApiOnLoadCallback'; return new _promise2.default(function (resolve, reject) { if (typeof window === 'undefined') { return reject(new Error('Can only load the AMap API in the browser')); } if (document.querySelector("#amap_api_point")) { if (window.AMap) return resolve(window.AMap);else document.querySelector("#amap_api_point").remove(); } var scriptElement = document.createElement('script'); var params = ['callback=' + callbackName]; if (key) params.push('key=' + key); if (v) params.push('v=' + v); if (plugin) { params.push('&plugin=AMap.Scale,AMap.OverView,AMap.ToolBar'); // 这块可以细分到具体加载哪个工具 } scriptElement.src = 'http://webapi.amap.com/maps?' + params.join('&'); scriptElement.id = 'amap_api_point'; var timeoutId = null; if (timeout) { timeoutId = setTimeout(function () { window[callbackName] = function () {}; reject(new Error('不能加载高德地图API')); }, timeout); } window[callbackName] = function () { if (timeoutId !== null) { clearTimeout(timeoutId); } if (service) { if (Array.isArray(service)) { window.AMap.service(service); } else { window.AMap.service([service]); } } resolve(window.AMap); delete window[callbackName]; }; document.body.appendChild(scriptElement); }); }; module.exports = exports['default'];