Не могу получить значение из функции.Возвращает undifined

258
26 марта 2017, 05:17

ДЕлаю дирекшион получаю ответ .

var map;
function initMap() {
     var locations = [
      ['Bondi Beach', 40.401362, 49.842257, 4],
      ['Coogee Beach', 40.407498, 49.789642, 5],
      ['Cronulla Beach', 40.397760, 49.925941, 3],
      ['Manly Beach', 40.431724, 50.051327, 2],
      ['Maroubra Beach',40.368523, 50.200322, 1]
    ];
      var marker, i;

     var directionsDisplay = new google.maps.DirectionsRenderer;
  var directionsService = new google.maps.DirectionsService;
  map = new google.maps.Map(document.getElementById('map'), {
    center: {lat: -34.397, lng: 150.644},
    zoom: 8
  });

 for (i = 0; i < locations.length; i++) {  
      marker = new google.maps.Marker({
        position: new google.maps.LatLng(locations[i][1], locations[i][2]),
        map: map
      });
  }
   // calculateAndDisplayRoute(directionsService,directionsDisplay);
     var drivers = [];  


  //  console.log($(this).closest('tr').find('td').eq(7).children().val());

function calculateAndDisplayRoute(directionsService, directionsDisplay,des) {
 directionsService.route({ 
    origin: {lat: 40.395379, lng: 49.818631},  
    destination: des ,  
    travelMode: google.maps.TravelMode.DRIVING
  }, function(response, status) {
    if (status == google.maps.DirectionsStatus.OK) {
      directionsDisplay.setDirections(response);
      var routes=response.routes;
      var leg =routes[0].legs;
       var lenght = leg[0].distance.text;
       var duration = leg[0].duration;
       return leg[0].duration.text;
    } else {
      window.alert('Directions request failed due to ' + status);
    }
  });
}

   $(document).ready(function(){
  $("body").on('click','.button', function(){
        for (i = 0; i < locations.length; i++){
        console.log(alert(calculateAndDisplayRoute(directionsService,directionsDisplay, new google.maps.LatLng(locations[i][1], locations[i][2]))))  ;
            } 
        });
});
}
Answer 1

Делаем duration глобальной. после того как срабатывает duration = leg[0].duration; ожидаем 1 сек, и достаем duration

вот код:

setTimeout(function(){ 
 console.log(duration); 
},1000);
READ ALSO
Здравствуйте. Смотрите у меня есть код, но нужно добавить кое какую функцию, которая поможет с моими проблемами

Здравствуйте. Смотрите у меня есть код, но нужно добавить кое какую функцию, которая поможет с моими проблемами

У меня код работает нормально, при проверке узнаете что мне нужно, задача моя в том что я не могу сделать так что бы мышь не доходил до блока,...

159
Найти уравнение расшифровки

Найти уравнение расшифровки

ЗдравствуйтеЕсть такой код циклического сдвига текста:

212
элемент не исчезает

элемент не исчезает

есть массив картинок не могу сделать проверку, если картинка есть то ок если нет то тег выше исчезает #fotorama2

211
Неправильное обтекание картинки

Неправильное обтекание картинки

Здравствуйте, подскажите пожалуйста почему при обтекании картинки border получается как бы в нейМне нужно чтобы border был возле текста, можно...

210