获取未定义的值

时间:2018-03-14 03:14:48

标签: javascript google-maps-api-3 undefined

我想知道为什么我会得到未定义的值?所以基本上我使用谷歌地图api来获得2点之间的时间。当我尝试用

提醒值时

alert(response.routes[0].legs[0].duration.value / 60);

一切正常我得到了值,但是当我尝试将此值赋给变量并提醒它时,它给了我“未定义”。以下是javascript代码

function travellingTime(Origin,Destination){
	var Time;
	var directionsService = new google.maps.DirectionsService();
	var request = {
    origin: Origin,
    destination: Destination,
    travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function (response, status) {
    if (status == google.maps.DirectionsStatus.OK) {

        // Display the distance:
        //alert(response.routes[0].legs[0].distance.value + " meters");

        // Display the duration:
        Time = (response.routes[0].legs[0].duration.value / 60);

        
        
    }
});
alert(Time)	;
//app.setTime(String(Time))	
}

1 个答案:

答案 0 :(得分:0)

我找到了答案,因为它是异步的时间。我发现了一种延迟的方法来获得价值。我在directionservice.route()

中插入了这段代码

setTimeout(function() { 
Time = (response.routes[0].legs[0].duration.value / 60); 
                      }, 0);