2017-05-19 9 views
-1

私はこのデータ(html配列)をfirebaseデータベースのデータを取り込みたいと思います。ここfirebaseからhtml配列にデータを変換するには

var locations = [ 
    ['Bondi Beach', -33.890542, 151.274856, 4], 
    ['Coogee Beach', -33.923036, 151.259052, 5], 
    ['Cronulla Beach', -34.028249, 151.157507, 3], 
    ['Manly Beach', -33.80010128657071, 151.28747820854187, 2], 
    ['Maroubra Beach', -33.950198, 151.259302, 1] 

は、誰かが上記のコードのようなhtmlのアレイにfirebaseから私のデータを有効にする方法私を助けることができるデータベースが

I want to put parkers on the location and set the other attributes as descriptions

どのように見えるかです。

なぜ、.onceではなく、.onceを使用すると、データベースの更新時にテーブルが更新されません。 firebase

からのフェッチ

rootRef.on("child_added", snap =>{ 
    var date = snap.child("dateAndTime").val(); 
    var lat = snap.child("latitude").val(); 
    var long = snap.child("longitude").val(); 
    var link = snap.child("link").val(); 
    var report = snap.child("report").val(); 
    var status = snap.child("status").val(); 
    var needs = snap.child("needs").val(); 


    $("#table_body").append("<tr><td>" +date+"</td><td>"+report+"</td><td>"+lat+"</td><td>"+long+"</td><td>"+status+"</td><td>"+needs+"</tr>"); 

}); 
+0

[firebaseデータベースからGoogleマップマーカーを追加する方法](http://stackoverflow.com/questions/43216708/how-to-add-google-map-marker-from-firebase-database) – geocodezip

+0

アンドロイド用。私の質問はウェブに関するものです。 – DarknessNight

+0

本当ですか?あなたは書かれたすべてのコードを削除しました。どうして ? –

答えて

0

私はfirebaseは、データのロードをシミュレートするために、正しい設定

// Default markers 
var locations = [{ 
    report: "Bondi Beach", 
    longitude: -33.890542, 
    latitude: 151.274856 
}, { 
    report: "Maroubra Beach", 
    longitude: -33.950598, 
    latitude: 151.274856 
}]; 

var colors = [ 
    "http://maps.google.com/mapfiles/ms/icons/red-dot.png", 
    "http://maps.google.com/mapfiles/ms/icons/green-dot.png" 
] 


var map = new google.maps.Map(document.getElementById('map'), { 
    zoom: 10, 
    center: new google.maps.LatLng(-33.92, 151.25), 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
}); 

var infowindow = new google.maps.InfoWindow(); 
var markers = [] 

// To dynamically change marker color, use marker[i].setIcon('http://maps.google.com/mapfiles/ms/icons/green-dot.png') 

function renderMarkers() { 

    // Clearout old markers 
    markers.map(function (oldMarker) { 
     oldMarker.setMap(null) 
    }) 
    markers = [] 

    locations.map(function (loc) { 
     marker = new google.maps.Marker({ 
      position: new google.maps.LatLng(loc.longitude, loc.latitude), 
      map: map, 
      icon: loc.completed ? colors[0] : colors[1] 
     }); 
     markers.push(marker) 
     google.maps.event.addListener(marker, 'click', (function (marker, i) { 
      return function() { 
       infowindow.setContent(loc.report); 
       infowindow.open(map, marker); 
      } 
     })(marker, loc)); 
    }) 
} 
renderMarkers() 


firebase.database.ref('/database/5-11-2017').on('value', function (snapshot) { 
    var result = snapshot.val() 

    if (!result) return 

    // I dont know you database, either it will return objects or array. 
    locations = Object.keys(result).map(function (key) { 
     return result[key] 
    }) 
    // or 
    // locations = result // Array 

    // Render makers with new locations 
    renderMarkers() 

}) 

Example とセットアップであると仮定し、私はタイムアウト機能を追加しました。マップは約5秒後に新しいマーカーを描画する必要があります。

+0

Kumar、私のデータベースは、「マーカーを入れたいです。実際には私はちょうど上記のようなhtml配列にデータベースからデータを取得したい – DarknessNight

+0

@エストそれではない?上記のコードは仕事をする必要があります。それは、あなたはドキュメントを読む必要があります –

+0

ありがとう、私は仕事をした。ご協力いただきありがとうございます。別の質問をすることはできますか?異なる色のマーカーを使用することは可能ですか?たとえば、私のデータベースには、進行中のイベントと既に行われたイベントがあります。私は、お互いに異なる色を表示するマーカーを置くことができますか?例。赤色は進行中、緑色は完了しました – DarknessNight

関連する問題