【发布时间】:2013-05-02 14:20:25
【问题描述】:
我正在尝试异步加载我的谷歌地图,它可以工作,但它正在加载地图两次。如果我删除“box.onload = initialize;”这将停止该问题,但随后信息框不显示...如何修复我的代码,使其仅加载一次地图并显示信息框。
function loadScript() {
var map = document.createElement('script');
map.type = 'text/javascript';
map.src = 'https://maps.googleapis.com/maps/api/js?key=key_goes_here&sensor=false&callback=initialize';
document.body.appendChild(map);
map.onload = function() {
var box = document.createElement('script');
box.type = 'text/javascript';
box.src = 'https://google-maps-utility-library-v3.googlecode.com/svn/trunk/infobox/src/infobox_packed.js';
document.body.appendChild(box);
box.onload = initialize;
};
}
window.onload = loadScript;
【问题讨论】:
-
从你的 map.src 中移除回调
-
这会使地图完全停止工作:(
-
问题是在我看来你最终会打电话给
initialize两次。也许 box.onload 应该调用不同的函数 -
这就是我的想法,这就是我卡住的地方:(
-
将您的初始化函数也添加到问题中可能很有用
标签: google-maps