Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌地图的addListener_Javascript_Google Maps - Fatal编程技术网

Javascript 谷歌地图的addListener

Javascript 谷歌地图的addListener,javascript,google-maps,Javascript,Google Maps,我想打印一个谷歌地图后,地图是完全加载 [……] var directionsService=new google.maps.directionsService(); var映射; var-gh; 函数初始化(){ //警报(“启动功能”); directionsDisplay=new google.maps.DirectionsRenderer(); gh=新的google.maps.LatLng(41.850033,-7.6500523); 变量myOptions={ 缩放:15, map

我想打印一个谷歌地图后,地图是完全加载

[……]


var directionsService=new google.maps.directionsService();
var映射;
var-gh;
函数初始化(){
//警报(“启动功能”);
directionsDisplay=new google.maps.DirectionsRenderer();
gh=新的google.maps.LatLng(41.850033,-7.6500523);
变量myOptions={
缩放:15,
mapTypeId:google.maps.mapTypeId.ROADMAP,
中心:gh
}
map=new google.maps.map(document.getElementById(“map_canvas”),myOptions);
方向显示.setMap(地图);
}
函数calcRoute(){
//警报(“Starte calcRoute”);
//警报(“”);
var start=“Recklinghausen-Akkoallee 45”;
var end=“Recklinghausen”;
var请求={
来源:start,
目的地:完,
travelMode:google.maps.Directions travelMode.DRIVING,
避免:是的,
};
路由(请求、功能(结果、状态){
if(status==google.maps.directionstatus.OK){
方向显示。设置方向(结果);
}
});
google.maps.event.addListenerOnce(map,'idle',function()){
警报('Funktion wird aufgerufen!');
//window.print();
});
}
[……]



但是addListener会在映射启动且未完全加载时触发信息?

尝试使用setTimeout函数延迟打印调用

directionsService.route(request, function(result, status) {
        if (status == google.maps.DirectionsStatus.OK) {
            directionsDisplay.setDirections(result);
            setTimeout(function() { alert('Funktion wird aufgerufen!'); }, 2000);
        }
    });
这是我能做的最好的了:,但是当我把你的
addListenerOnce
改为“tilesloaded”而不是“idle”时,我仍然在图像显示之前收到了警报框。祝你好运
<body onload="initialize();calcRoute();">
directionsService.route(request, function(result, status) {
        if (status == google.maps.DirectionsStatus.OK) {
            directionsDisplay.setDirections(result);
            setTimeout(function() { alert('Funktion wird aufgerufen!'); }, 2000);
        }
    });