|
异步JS加载百度地图,API只加载一次,HTML片段重复加载多次,从第二次加载时候就有问题!不知道你们是如何加载的?
代码:
Model.prototype.initBaiduMap = function(mapId) {
if (!window._baiduInitialize) { // 首次加载
console.log("do baiduInitialize...");
window._baiduInitialize = function(){
console.log("do _baiduInitialize...");
var map = new BMap.Map(mapId); // 创建Map实例
map.centerAndZoom(new BMap.Point(116.404, 39.915), 11); // 初始化地图,设置中心点坐标和地图级别
map.addControl(new BMap.MapTypeControl()); //添加地图类型控件
map.setCurrentCity("北京"); // 设置地图显示的城市 此项是必须设置的
map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
};
require("http://api.map.baidu.com/api?v=2.0&ak=XXX&callback=_baiduInitialize");
} else { // 第二次加载
var map = new BMap.Map(mapId); // 创建Map实例
map.centerAndZoom(new BMap.Point(116.404, 39.915), 11); // 初始化地图,设置中心点坐标和地图级别
map.addControl(new BMap.MapTypeControl()); //添加地图类型控件
map.setCurrentCity("北京"); // 设置地图显示的城市 此项是必须设置的
map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放
}
};
异步加载这样操作,我看不出有什么问题,事实确实有问题的!第二次加载的时候,显示不完整! |
|