我对街景地图有一些问题:http://server.patrikelfstrom.se/johan/fysiosteo/?page_id=118
有时窗口会变灰而不是显示街景。所以我的问题是;有没有办法知道地图何时完成加载?我猜它在完全加载之前渲染地图?感谢
function initialize() {
var myLatlng = new google.maps.LatLng(57.6988062, 11.9683293);
var myOptions = {
zoom: 16,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP,
disableDefaultUI: true
}
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
animation: google.maps.Animation.DROP,
title:"Fysiosteo"
});
var panoramaOptions = {
position: myLatlng,
addressControl: false,
pov: {
heading: 90,
pitch: 0,
zoom: 0
}
};
var panorama = new google.maps.StreetViewPanorama(document.getElementById("pano"),panoramaOptions);
map.setStreetView(panorama);
google.maps.event.addListener(panorama, 'idle', function() { console.log('done'); });
}
function loadScript() {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "http://maps.googleapis.com/maps/api/js?sensor=false&callback=initialize";
document.body.appendChild(script);
}
window.onload = loadScript;
我尝试使用此代码在地图完成加载后将“完成”打印到控制台,但它没有用。我做错了吗? :)
答案 0 :(得分:0)
您的具体问题的答案(“有没有办法知道地图何时完成加载?”)是:是的。当Map对象加载完毕后,它将触发idle
事件。可以在http://code.google.com/apis/maps/documentation/javascript/reference.html#Map找到Map对象触发的事件的文档。