2
我正在开发一个小部件,以显示一些数据从我的网站到其他人。为此,我必须通过javascript createElement方法动态加载一些脚本文件。这是我的代码。谷歌地图加载问题使用javascript createElement
<script language="javascript" type="text/javascript">
var script = document.createElement('script');
script.onload = function() {
//initMap();
};
script.src = "http://maps.google.com/maps/api/js?sensor=false";
document.getElementsByTagName('head')[0].appendChild(script);
function initMap()
{
var myLatlng = new google.maps.LatLng(-25.363882,131.044922);
var mapOptions = {
zoom: 12,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}; var map = new google.maps.Map(document.getElementById(“map_canvas”),mapOptions);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title:"Hello World!"
});
}
$(document).ready(function(){
initMap();
});
</script>
此代码既不在script.onload函数中初始化映射,也不在document.ready上初始化映射。提前致谢。
非常感谢它现在工作的罚款。但是我必须在jquery,谷歌地图,信息框和fancybox已经加载时调用地图函数,并且我陷入了它。如果我提出任何不相关的问题,我很抱歉。但它对我来说很难。提前致谢。 – aishazafar 2012-08-09 18:20:18
您可以使用http://labjs.com/进行脚本加载。不要使用'jsapi'创建脚本标记,而应将https://raw.github.com/getify/LABjs/master/LAB.min.js然后放在'onload'处理程序中执行如下操作: '$ LAB 。脚本('http://code.jquery.com/jquery-1.8.0.min.js') /* .script('...')其他需要的脚本*/ .script('https:// www.google.com/jsapi') .wait(function(){ ... });' 无论你放入'wait()'回调函数,都会在加载所有脚本后执行。你应该在那里放置'google.load'。 – Cleric 2012-08-10 07:05:01
非常感谢。它的工作正常,当我加载本地脚本,但它不正确加载谷歌地图API和infobox.js :(。 – aishazafar 2012-08-11 18:36:18