1 Star 1 Fork 1

gyy/amap-jsapi-loader

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
index.js 5.03 KB
一键复制 编辑 原始数据 按行查看 历史
gyy 提交于 2年前 . init
'use strict';(function(n,p){"object"===typeof exports&&"undefined"!==typeof module?module.exports=p():"function"===typeof define&&define.amd?define(p):(n=n||self,n.AMapLoader=p())})(this,function(){function n(a){let b=[];a.AMapUI&&b.push(p(a.AMapUI));a.Loca&&b.push(r(a.Loca));return Promise.all(b)}function p(a){return new Promise((h,d)=>{let f=[];if(a.plugins)for(var e=0;e<a.plugins.length;e+=1)-1==c.AMapUI.plugins.indexOf(a.plugins[e])&&f.push(a.plugins[e]);if(g.AMapUI===b.failed)d("\u524d\u6b21\u8bf7\u6c42 AMapUI \u5931\u8d25");
else if(g.AMapUI===b.notload){g.AMapUI=b.loading;c.AMapUI.version=a.version||c.AMapUI.version;e=c.AMapUI.version;let k=document.body||document.head,l=document.createElement("script");l.type="text/javascript";l.src=`https://webapi.amap.com/ui/${e}/main.js`;l.onerror=a=>{g.AMapUI=b.failed;d("\u8bf7\u6c42 AMapUI \u5931\u8d25")};l.onload=()=>{g.AMapUI=b.loaded;if(f.length)window.AMapUI.loadUI(f,function(){for(let a=0,b=f.length;a<b;a++){let b=f[a].split("/").slice(-1)[0];window.AMapUI[b]=arguments[a]}for(h();m.AMapUI.length;)m.AMapUI.splice(0,
1)[0]()});else for(h();m.AMapUI.length;)m.AMapUI.splice(0,1)[0]()};k.appendChild(l)}else g.AMapUI===b.loaded?a.version&&a.version!==c.AMapUI.version?d("\u4e0d\u5141\u8bb8\u591a\u4e2a\u7248\u672c AMapUI \u6df7\u7528"):f.length?window.AMapUI.loadUI(f,function(){for(let a=0,b=f.length;a<b;a++){let b=f[a].split("/").slice(-1)[0];window.AMapUI[b]=arguments[a]}h()}):h():a.version&&a.version!==c.AMapUI.version?d("\u4e0d\u5141\u8bb8\u591a\u4e2a\u7248\u672c AMapUI \u6df7\u7528"):m.AMapUI.push(a=>{a?d(a):f.length?
window.AMapUI.loadUI(f,function(){for(let a=0,b=f.length;a<b;a++){let b=f[a].split("/").slice(-1)[0];window.AMapUI[b]=arguments[a]}h()}):h()})})}function r(a){return new Promise((h,d)=>{if(g.Loca===b.failed)d("\u524d\u6b21\u8bf7\u6c42 Loca \u5931\u8d25");else if(g.Loca===b.notload){g.Loca=b.loading;c.Loca.version=a.version||c.Loca.version;let l=c.Loca.version;var f=c.AMap.version.startsWith("2"),e=l.startsWith("2");if(f&&!e||!f&&e)d("JSAPI \u4e0e Loca \u7248\u672c\u4e0d\u5bf9\u5e94\uff01\uff01");
else{f=c.key;e=document.body||document.head;var k=document.createElement("script");k.type="text/javascript";k.src=`https://webapi.amap.com/loca?v=${l}&key=${f}`;k.onerror=a=>{g.Loca=b.failed;d("\u8bf7\u6c42 AMapUI \u5931\u8d25")};k.onload=()=>{g.Loca=b.loaded;for(h();m.Loca.length;)m.Loca.splice(0,1)[0]()};e.appendChild(k)}}else g.Loca===b.loaded?a.version&&a.version!==c.Loca.version?d("\u4e0d\u5141\u8bb8\u591a\u4e2a\u7248\u672c Loca \u6df7\u7528"):h():a.version&&a.version!==c.Loca.version?d("\u4e0d\u5141\u8bb8\u591a\u4e2a\u7248\u672c Loca \u6df7\u7528"):
m.Loca.push(a=>{a?d(a):d()})})}var b;(function(a){a.notload="notload";a.loading="loading";a.loaded="loaded";a.failed="failed"})(b||(b={}));let c={key:"",AMap:{version:"1.4.15",plugins:[]},AMapUI:{version:"1.1",plugins:[]},Loca:{version:"1.3.2"}},g={AMap:b.notload,AMapUI:b.notload,Loca:b.notload},m={AMap:[],AMapUI:[],Loca:[]},q=[],t=function(a){"function"==typeof a&&(g.AMap===b.loaded?a(window.AMap):q.push(a))};return{load:function(a){if("undefined"===typeof window)throw Error("AMap JSAPI can only be used in Browser.");
return new Promise((h,d)=>{if(g.AMap==b.failed)d("");else if(g.AMap==b.notload){let {key:l,version:k,plugins:m}=a;if(l){window.AMap&&"lbs.amap.com"!==location.host&&d("\u7981\u6b62\u591a\u79cdAPI\u52a0\u8f7d\u65b9\u5f0f\u6df7\u7528");c.key=l;c.AMap.version=k||c.AMap.version;c.AMap.plugins=m||c.AMap.plugins;g.AMap=b.loading;var f=document.body||document.head;window.___onAPILoaded=function(c){delete window.___onAPILoaded;if(c)g.AMap=b.failed,d(c);else for(g.AMap=b.loaded,n(a).then(()=>{h(window.AMap)}).catch(d);q.length;)q.splice(0,
1)[0]()};var e=document.createElement("script");e.type="text/javascript";e.src="https://webapi.amap.com/maps?callback=___onAPILoaded&v="+c.AMap.version+"&key="+l+"&plugin="+c.AMap.plugins.join(",");e.onerror=a=>{g.AMap=b.failed;d(a)};f.appendChild(e)}else d("\u8bf7\u586b\u5199key")}else if(g.AMap==b.loaded)if(a.key&&a.key!==c.key)d("\u591a\u4e2a\u4e0d\u4e00\u81f4\u7684 key");else if(a.version&&a.version!==c.AMap.version)d("\u4e0d\u5141\u8bb8\u591a\u4e2a\u7248\u672c JSAPI \u6df7\u7528");else{f=[];
if(a.plugins)for(e=0;e<a.plugins.length;e+=1)-1==c.AMap.plugins.indexOf(a.plugins[e])&&f.push(a.plugins[e]);f.length?window.AMap.plugin(f,()=>{n(a).then(()=>{h(window.AMap)}).catch(d)}):n(a).then(()=>{h(window.AMap)}).catch(d)}else if(a.key&&a.key!==c.key)d("\u591a\u4e2a\u4e0d\u4e00\u81f4\u7684 key");else if(a.version&&a.version!==c.AMap.version)d("\u4e0d\u5141\u8bb8\u591a\u4e2a\u7248\u672c JSAPI \u6df7\u7528");else{var k=[];if(a.plugins)for(e=0;e<a.plugins.length;e+=1)-1==c.AMap.plugins.indexOf(a.plugins[e])&&
k.push(a.plugins[e]);t(()=>{k.length?window.AMap.plugin(k,()=>{n(a).then(()=>{h(window.AMap)}).catch(d)}):n(a).then(()=>{h(window.AMap)}).catch(d)})}})},reset:function(){delete window.AMap;delete window.AMapUI;delete window.Loca;c={key:"",AMap:{version:"1.4.15",plugins:[]},AMapUI:{version:"1.1",plugins:[]},Loca:{version:"1.3.2"}};g={AMap:b.notload,AMapUI:b.notload,Loca:b.notload};m={AMap:[],AMapUI:[],Loca:[]}}}})
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/guyangyang/amap-jsapi-loader.git
git@gitee.com:guyangyang/amap-jsapi-loader.git
guyangyang
amap-jsapi-loader
amap-jsapi-loader
master

搜索帮助