1

네이티브 Google지도 및 Firebase를 사용하여 이오니아 애플리케이션을 제작하고 있습니다. 나는지도에 여러 개의 마커를로드 할,이 마커 (위도와 경도)의 위치는이 중포 기지 구조에 있습니다 Firebase에서 데이터를 읽어서 배열에 넣습니다.

are in this Firebase structure.

그래서 내가 공급자와이 위치를 얻을 수있는 기능 getPins()을 만들어 :

import { ... }; 

@Injectable() 

public arredoresRef:firebase.database.Reference; 

export class ArredoresProvider { 

    constructor() { 
     this.arredoresRef = firebase.database().ref('/local') 
    } 

    getPins(): firebase.database.Reference { 
     return this.arredoresRef.child('/local'); 
    } 

} 

그리고 배열이 위치를 넣어하려고 해요 :

import { ... }; 

@IonicPage({ ... }) 

@Component({ ... }) 

export class ArredoresPage { 

    constructor(...) { ... } 

    ionViewDidEnter() { 
     this.arredoresProvider.getPins().on('value', snapshot => { 
      this.pins = []; 
      snapshot.forEach(snap => { 
       this.pins.push({ 
        latitude: snap.val().latitudeLocal, 
        longitude: snap.val().longitudeLocal 
       }); 
       return false 
      }); 
     }); 
    } 
} 

을하지만 그것은 작동하지 않습니다! Firebase와 Ionic으로 작업 한 것은 처음 이었기 때문에 Firebase가 데이터를 읽는 방법에 대해 혼란 스럽습니다.

This text은 정말 유용했지만 Firebase 데이터를 사용하지 않았습니다.

마지막으로, 나는 나쁜 영어로 사과합니다.

+0

작동하지 않는 이유는 무엇입니까? 핀을 전혀 회수하지 않습니까? 지도에 넣을 수 없습니까? – user7722867

+0

작동하지 않습니다. 택시를 가져다가지도에 넣지 마십시오. – user7722867

+0

함수가 데이터를 검색하지 않고 배열이 null입니다. –

답변

0

나는이에 최초의 솔루션을 구현 한 : Get data from Firebase in Ionic 2

은 기본적으로 당신이 옵션 {: 사실 enableSnapshot}를 사용하여 전화 목록 참조를 사용하고 있는지 확인해야합니다. 또한 구조의 데이터에 .latitudeLocal 속성이 없습니다. 대신, 데이터 구조에 접근하여 더 많은 데이터 구조에 접근해야합니다. 예를 들어 다른 .forEach 문을 사용할 수 있습니다.

+0

그것은 나를 위해 일했습니다. 고마워요! –

관련 문제