TypeError: Невозможно прочитать свойство 'elements' из undefined - PullRequest
0 голосов
/ 05 декабря 2018

В настоящее время я создаю приложение для райдшеринга на iOS и столкнулся с некоторыми проблемами при использовании Google Distance Matrix в моем коде Node.js.

Ниже приведен код:

distance.matrix(leg3_origin, leg3_destination, function (err, distances) {
               console.log('distance');
               if (err) {
                 console.log(err);
                   return console.log(err);
               }
               else if(!distances) {
                 console.log('no distances..');
                   return console.log('no distances');
               }
               else{
                 console.log('if statement');
                   var origin = distances.origin_addresses[0];
                   var destination = distances.destination_addresses[0];
                       leg3Duration = distances.rows[0].elements[0].duration;
                       leg3Distance = distances.rows[0].elements[0].distance;
                       console.log(leg3Distance);

                       if (leg3Distance == null)
                       {
                         leg3Distance = 0;
                       }
                       console.log('entering 2nd leg');
                       getSecondLeg(driverArrivalTime2, leg3Duration, leg3Distance);

                 }
              });

Строка leg3Duration = distances.rows[0].elements[0].duration; вызывает ошибку при попытке вызвать .elements.

Я понимаю, что она ломается, потому что leg3Duration не определена, но инициализируется в функции.Есть ли другой способ, которым я должен инициализировать это значение, чтобы избежать ошибки?

Заранее спасибо за помощь!

1 Ответ

0 голосов
/ 05 декабря 2018

Вы должны console.log объект расстояния и подтвердить, что элементы не определены.У вас могут быть элементы с ошибками, или вам нужно использовать другое свойство?

Другие мысли:

Объект расстояния, возвращаемый в обратном вызове, может напоминать нечто совершенно отличное от документации в методе distance.matrix..

Может быть, проблема в том, что вы передали в метод distance.matrix?

Нам сложно определить, почему вывестилука [0] не содержит свойства elements, как вы ожидали.,Вы копируете из официальной документации или указали вручную путь свойства к продолжительности вложенного свойства?

...