百度地图使用时候,报出如下错误,请大神指教是什么原因

图片说明
注释:我只要把自己写的含有var map = new BMap.Map("allmap");这句话的封装js调换位置就不报错了,就是说我调换下我的js引用位置就好了,但是我就是想知道是什么原因造成的。我不想多次声明new Bmap

var map;//全局变量
init();
function init(){
map = new BMap.Map("allmap");
}

那就把 创建map的对象的这句话当作全局变量呗

在全局全变量位置声明一次就行了