2012-04-20 80 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

相關問題