首先,我想在angular里实现异步加载百度地图api后调用相关回调,
百度地图官方给出的地图异步加载的例子是这样的:
body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
异步加载地图//百度地图API功能
function loadJScript() {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "http://api.map.baidu.com/api?v=2.0&ak=您的密钥&callback=init"; //
document.body.appendChild(script);
}
function init() {
var map = new BMap.Map("allmap"); // 创建Map实例
var point = new BMap.Point(116.404, 39.915); // 创建点坐标
map.centerAndZoom(point,15);
map.enableScrollWheelZoom(); //启用滚轮放大缩小
}
window.onload = loadJScript; //异步加载地图
我在angular相关指令里已经成功异步加载地图了,回调已设置为&callback=init,init回调方法是百度api内自己调用的,自己只需要定义好的就行,结果问题来了, init回调函数定义了,但init一直都没有被调用,地图都加载了,为什么回调函数没有被调用?我把代码块放到普通的script标签里运行能正常被调用,难道是angular本身的原因?