我试图在我的网站上放置带有信息窗口的谷歌地图,但需要它异步加载。这是我使用的代码:异步Google地图信息窗口
function initialize(lat,lng) {
var mapProp = {
center: new google.maps.LatLng(lat,lng),
zoom:15,
mapTypeId: google.maps.MapTypeId.ROADMAP,
disableDefaultUI:true
};
var map = new google.maps.Map(document.getElementById("googleMap"),mapProp);
}
function loadScript() {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "http://maps.googleapis.com/maps/api/js?key=&sensor=false&callback=initialize";
document.body.appendChild(script);
}
window.onload = loadScript;
它使用一个click事件初始化并印有通过JavaScript生成的html:
...
var lat=40.7127;
var lng=-74.0059;
..
<div onclick="initialize('+lat+','+lng+');">map</div>
..
html_str += '<div id="googleMap" class="map"></div>';
document.getElementById(id).innerHTML = html_str;
基本地图成功初始化,但我有麻烦添加信息窗口:
var infowindow = new google.maps.InfoWindow({
content:"Hello World!"
});
infowindow.open(map,marker);
我试着把这个代码放入initialize()函数,但没有运气。我需要帮助将此信息窗口代码修改为上面的代码。