Отображать информацию на маркере Google Maps - PullRequest
0 голосов
/ 17 декабря 2018

Я пытаюсь получить информацию, которая сохраняется в базе данных Firebase в режиме реального времени, и отобразить ее на карте с помощью API Карт Google.

Это моя база огня

firebase

Это мой маркер на карте

web map

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

Теперь я могу получать информацию из firebase и отображать ее на карте, но если я добавлю другого пользователя,информация все та же.Почему?

Это код, который у меня есть:

// This Function will  add/display that marker on the map
function AddDriver(data) {


  var LatLng = new 
    google.maps.LatLng(parseFloat(data.val().lat),parseFloat(data.val().lng 
    ));
  var bounds = new google.maps.LatLngBounds();

  var marker = new google.maps.Marker({
    //title:service,
    position:LatLng,
    map: map
  });



  // Attach it to the marker we've just added
  google.maps.event.addListener(marker, 'click', function() {
    getData();
  });

  markers[data.key] = marker; // add marker in the markers 
  array...
    document.getElementById("loc").innerHTML = loc_count;


  function getData(){
    var locationsRef = 
      firebase.database().ref('Locations/oEyL4QXg1XYAABIBGPvqYbzlNiv2');

    console.log(locationsRef);
    locationsRef.once('value', function(snapshot) {
      snapshot.forEach(function(childSnapshot) {
        var childKey = childSnapshot.key;
        var childData = childSnapshot.val();
        console.log(childData);
        var contentString = childData;
        var infowindow = new google.maps.InfoWindow({
          content: contentString
        });
        infowindow.open(map,marker);

      });
    });
  }

}

1 Ответ

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

Согласно Документу Firebase

, который вы используете locationsRef.once, который будет уведомлять вас только об изменении данных за один раз

я думаю, что вы должны использовать что-то вроде ValueEventListener , который будет уведомлять вас о любых изменениях в вашем снимке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...