2012-04-20 130 views
7
function calcRoute() { 
     var start = document.getElementById("start_").value; 
     var end = document.getElementById("end_").value; 
     var request = { 
      origin: start, 
      destination: end, 
      travelMode: google.maps.TravelMode.DRIVING 
     }; 
     directionsService.route(request, function (response, status) { 
      if (status == google.maps.DirectionsStatus.OK) { 
       directionsDisplay.setDirections(response); 
      } 
     }); 
    } 

在Chrome中显示错误消息:“Uncaught TypeError:Can not call method'setDirections'of undefined”。任何人都可以提出解决此问题吗感谢名单如何解决“不能调用未定义的方法...”错误?

+0

使用'==='而不是'=='进行比较,以防万一+良好的编程习惯。 – 2012-04-20 11:57:46

+1

消息非常清晰 - “directionsDisplay”尚未在任何地方定义。 – 2012-04-20 11:57:55

+0

var directionsDisplay;我定义了这个像James Hill所说的全局变量 – kamal 2012-04-20 11:58:54

回答

6

你缺少(全局变量)

//var directionsService = new google.maps.DirectionsService(); 
var directionsDisplay = new google.maps.DirectionsRenderer({ 'map': map }); 

所以directionsDisplay是不确定的。

+2

的方法,谢谢我解决它 – kamal 2012-04-20 12:36:58

+0

很高兴知道。 – 2012-04-20 12:38:42

相关问题