全部, 非常简单-所有标记都加载后,是否有onload处理程序/事件?
例如,我们正在加载26个标记,而这些标记的加载时间早于标记:
google.maps.event.addListenerOnce(map, 'idle', function(){
// do something only the first time the map is loaded
});
这也行不通:
google.maps.event.addListenerOnce(marker,'load',function(){
// onload stuff
});
有想法吗?
答案 0 :(得分:0)
团队,
好吧,我想我回答了我自己的问题-并不像我希望的那样优雅,但这可行:
在我们的createMarker函数中,我在末尾添加了一个'checkloaded()'位,用于检查location.length = markers.length:
function createMarker(add,lat,lng,marker_label) {
var contentString = '<div contentEditable="true">'+marker_label+'</div>';
var marker = new google.maps.Marker({
position: new google.maps.LatLng(lat,lng),
map: map,
draggable: true,
label: labels[labelIndex++ % labels.length]
});
// open marker on load
google.maps.event.trigger(marker,'click');
bounds.extend(marker.position);
//Add marker to the array.
markers.push(marker);
checkloaded();
}
然后:
function checkloaded(){
if(locations.length == markers.length){
// do onload stuff here
}
}
如果有适当的方法,请告诉我并谢谢大家