2012-04-20 14 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); 
      } 
     }); 
    } 

Powoduje wyświetlenie komunikatu o błędzie w przeglądarce Chrome: "Uncaught TypeError: Can not call method" setDirections "of undefined". Czy ktoś mógłby zaproponować naprawienie tego? thanxJak rozwiązać błąd "nie można wywołać metody ... nieokreślonego"?

+0

użyj '===' zamiast '==' do porównania, na wszelki wypadek + dobry nawyk programowania. –

+1

Komunikat jest całkiem jasny - 'directionsDisplay' nie został nigdzie zdefiniowany. –

+0

var directionsDisplay; Definiuję to jako globalną zmienną – kamal

Odpowiedz

6

Brakuje (Global VAR)

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

Więc directionsDisplay jest niezdefiniowany.

+2

dzięki, ja to rozwiążę – kamal

+0

Cieszę się, że to wiem. –

Powiązane problemy