2016-10-17 4 views
1

Firebase와 Mapbox를 배우려고하고 있는데,이 둘을 통합하려고합니다. Firebase는 내 데이터 중 일부를 다음 형식으로 저장합니다 :Firebase 데이터베이스로 맵 박스로드하기

{ 
    "messages" : { 
    "-KUE2EwfvbI48Azw01Hv" : { 
     "geometry" : { 
     "coordinates" : [ 28.6618976, 77.22739580000007 ], 
     "type" : "Point" 
     }, 
     "properties" : { 
     "description" : "xyz", 
     "hashtag" : "#xyz", 
     "imageUrl" : "xyz.jpg", 
     "name" : "Xyz Xyz", 
     "photoUrl" : "xyz.jpg", 
     "title" : "XYZ" 
     }, 
     "type" : "Issue" 
    }, 
    "-KUD2EwfvbI48Azw01Hv" : { 
     "geometry" : { 
     "coordinates" : [ 12.9715987, 77.59456269999998 ], 
     "type" : "Point" 
     }, 
     "properties" : { 
     "description" : "xyz", 
     "hashtag" : "#xyz", 
     "imageUrl" : "xyz.jpg", 
     "name" : "Xyz Xyz", 
     "photoUrl" : "xyz.jpg", 
     "title" : "XYZ" 
     }, 
     "type" : "Issue" 
    } 
    } 
} 

데이터를로드하고 Mapbox에 플롯 할 수있는 방법이 있습니까? 예를 들어, GeoJSON 파일을 어딘가에 호스팅하여이를 그릴 수 있습니다. 어떻게 Firebase 데이터베이스를 사용하여 실시간으로 Mapbox에 플롯 할 수 있습니까?

내 질문이 모호하면 죄송합니다. 필요한 경우 더 많은 정보를 기꺼이 제공합니다. D

고마워요!

답변

0

데이터를로드 할 수 있지만 먼저 유효한 GeoJSON 객체로 변환해야합니다. https://jsfiddle.net/mkrv9uuy/

var firebaseGeojsonFeatures = []; 
for (var key in firebaseData.messages) { 
    var f = firebaseData.messages[key]; 
    f.type = "Feature"; 
    firebaseGeojsonFeatures.push(f); 
} 
: 여기

는 JSFiddle는 사용자가 제공 한 데이터를 사용
관련 문제