我想知道为什么我会得到未定义的值?所以基本上我使用谷歌地图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))
}
答案 0 :(得分:0)
我找到了答案,因为它是异步的时间。我发现了一种延迟的方法来获得价值。我在directionservice.route()
中插入了这段代码
setTimeout(function() {
Time = (response.routes[0].legs[0].duration.value / 60);
}, 0);