GoogleMap с базой данных в реальном времени Firebase - Javascript - PullRequest
0 голосов
/ 27 сентября 2018

Как я могу показать широковещательные данные из базы данных в реальном времени на картах Google?

Моя структура базы данных:

/driversAvailable /A85edr0ers0A89rxartas7c5d1(user's id) /g: 787fe78fe
                                                          l:
                                                            0:45.789454
                                                            1:98.44578

Мой код:

function initMap(latitude, longitude) {
   var map;
   var database = firebase.database();
   database.ref("driversAvailable//").once('value', function(snapshot) {
     if (snapshot.exists()) {
       snapshot.forEach(function(data) {
         var latitude = l[0].val();
         var longitude = l[1].val();

       });
     }
   });
   map = new google.maps.Map(document.getElementById('map'), {
     center: {
       lat: 41.04,
       lng: 29.0778390
     },
     zoom: 12,
     position: {
       lat: parseFloat(latitude),
       lng: parseFloat(longitude)
     }

   });
 }

Ошибка:

Uncaught ReferenceError: l is not defined

1 Ответ

0 голосов
/ 27 сентября 2018

Вы еще не получаете данные из снимка, поэтому ваш l не определен.Если вы сначала получаете значение из снимка, то можете найти l оттуда:

   snapshot.forEach(function(data) {
     var latitude = data.val().l[0];
     var longitude = data.val().l[1];
   })

Если у вас возникла такая проблема, вам поможет console.log значение снимка, чтобы увидетьчто в нем:

   snapshot.forEach(function(data) {
     console.log(data.val());
   })
...