내 ionic2 앱에서 가장 가까운 장소 (바, 레스토랑 등) 정보가 실시간으로 업데이트되는 목록을 표시해야합니다. GeoFire doc을 읽으면서 트리에서 위치와 장소 세부 정보 데이터를 분리해야합니다. 그래서 내 중포 기지에서 다음과 같습니다지오 파이어 및 파이어베이스 및 앵귤러 파이어로 쿼리
-geoplacesdata
-placeID1
-g:"spdxm88qvr"
-l
-0: 43.4658582
-1: 3.7578978000000234
-placeID2
-g:"spdxm88qvr"
-l
-0: 45.4658582
-1: 4.7578978000000234
-places_details
-placeID1
-rate: 2
-name: "Place 1"
-infos:"Free cocktail"
-placeID2
-rate: 3
-name: "Place 2"
-infos:"Free for kids"
사용자가 내가 자신의 위치를 얻을 GeoFire와 나는 그의 지역 근처에 각 placeID을 얻을 수있어 페이지를로드 할 때. 꽤 멋진데 이제는 매우 까다로워졌습니다 ... 이제 모든 장소 ID를 얻었으므로이 장소에 대한 모든 세부 정보를 표시하고 각 선택된 장소 ID의 "정보"하위 항목에서 발생하는 모든 업데이트를 구독하고 싶습니다
그것은 작동
geoQuery.on("key_entered", (key) => {
placesRef.child(key).on("value", (snapshot) => {
var placesDetails = snapshot.val();
// .. and push each places details snapshot in an array named "matches"
this.matches.push(placesDetails);
});
});
, 내가 선택한 placesID에 대한 모든 장소 정보를 얻을하지만 곧 장소가 업데이트 될 때 : 새 키가에 밀려 (예 : 아이를 "정보를 정기적으로는"업데이트입니다) 나는 것을 시도 배열과 중복 된 정보를 얻습니다.
이보다 다른 솔루션이 있습니까?
안녕 Fank, 내가 물어 모든 질문에, 나는 당신이 내 질문을 수정하지만 난 당신에게서 어떤 대답을 결코 볼 수 ...하지만 당신이 geofire에 대한 몇 가지 기술을 가지고 (나는 다른 게시물을보고) 보인다. 어쩌면 당신은 저를 도울 수있을 것입니다 .. –
이것은 특별히 GeoFire와 관련이 없습니다. 배열에서 중복 된 결과를 얻는 이유는 모든 변경에 대해 배열에 새 데이터를 밀어 넣기 때문입니다. – eikooc