我正在开发一个小部件来向我的网站显示一些数据给其他人 . 为此,我必须通过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上初始化映射 . 提前致谢 .
1 回答
我不知道为什么,但似乎谷歌 Map api在动态加载时没有完全加载 . 相反,你可以使用谷歌Loader https://developers.google.com/loader/,这很好 .
这是你修改过的
<script>
: