2015-11-24 11 views
7

Quindi, ho un'app per Android che consente agli utenti di visualizzare i post all'interno di un certo raggio della loro posizione corrente. Sto memorizzando i post usando firebase, ma non ho trovato il modo di interrogare i post all'interno di un raggio specifico in firebase, quindi ora sto pensando di usare il geofire, ma non sono sicuro se c'è un modo per memorizzare una posizione accanto ai miei post di Firebase che usano il geofire, quindi, mi sembra che l'unico modo per associare un luogo a un post sia quello di avere l'id post (quello generato da firebase) come chiave per la posizione del geofire. È corretto o c'è un modo migliore?Associa Geofire location con Firebase entry

+2

Suoni di destra. La maggior parte delle implementazioni mantiene separate le proprietà dei post dai geodati, in modo che le geografie si occupino solo di dati minimi. Vedi https://geofire.firebaseapp.com/ per un'introduzione. –

+0

Ok, quindi sarebbero necessarie due query per recuperare i post qui. Uno che usa Geofire per trovare posizioni all'interno di un certo raggio della posizione corrente e recuperare le loro chiavi e un'altra utilizzando Firebase per recuperare le informazioni sui post per tutti i post che corrispondono agli ID delle posizioni Geofire, corretto? Speravo di usare una query, ma sembra che dovrà essere in questo modo. – dramzy

+2

Il secondo non è una domanda in senso stretto. È una ricerca diretta per ID. Dato che Firebase funziona su una connessione socket esistente e puoi eseguirne il pipeline, queste ricerche sono piuttosto veloci. In caso contrario: inizia una nuova domanda con il codice che è problematico e possiamo dare un'occhiata. –

risposta

0

Sì, quello è il modo corretto. Si crea un DB flat. Un ramo con dati di post e un ramo con posizioni.