Добавление всех маркеров, извлеченных из базы данных Firebase - PullRequest
0 голосов
/ 08 мая 2018

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

Lat Lng, извлеченный из базы огня

$(document).ready(function(){
  var rootRef = firebase.database().ref().child("driversAvailable");
  rootRef.on("child_added",snap=>{
    var lat = snap.child("l").child("0").val();
    var lng = snap.child("l").child("1").val();
    console.log(name,phone);

    $('ol').append( '<li>' + lat +" : " + lng + '</li>' );

    var uluru = {lat: lat, lng: lng};
    var map = new google.maps.Map(document.getElementById('map'), {
      zoom: 15,
      center: karachi
    });
    var marker = new google.maps.Marker({
      position: uluru,
      map: map
    });
  });
});

1 Ответ

0 голосов
/ 10 мая 2018

Вы создаете новый экземпляр карты для каждого местоположения, поэтому вы видите только последний маркер, он был добавлен на новую карту.

Просто переместите создание карты за пределы слушателя, например так:

$(document).ready(function(){
    var map = new google.maps.Map(document.getElementById('map'), {
        zoom: 15,
        center: karachi
    });
    var rootRef = firebase.database().ref().child("driversAvailable");
    rootRef.on("child_added",snap=>{
        var lat = snap.child("l").child("0").val();
        var lng = snap.child("l").child("1").val();
        console.log(name,phone);

        $('ol').append( '<li>' + lat +" : " + lng + '</li>' );

        var uluru = {lat: lat, lng: lng};
        var marker = new google.maps.Marker({
            position: uluru,
            map: map
        });
    });
});
...