【问题标题】:GoogleMap with Firebase Realtime Database - Javascript带有 Firebase 实时数据库的 GoogleMap - Javascript
【发布时间】:2018-09-27 23:06:04
【问题描述】:

如何在谷歌地图上显示来自实时数据库的 lat、lng 数据?

我的数据库结构:

/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

【问题讨论】:

    标签: javascript firebase firebase-realtime-database geofire


    【解决方案1】:

    您尚未从快照中获取数据,因此您的 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());
       })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-11
      • 2019-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-29
      • 1970-01-01
      相关资源
      最近更新 更多