0

Je stocke quelques postes sur Firebase avec le currentLatitude et currentLongitude de l'emplacement d'où il a été posté.Je veux que les publications de leurs utilisateurs dans un rayon de 1 km de lui/elles soient visibles. Comment faire ça? S'il vous plaît voir les détails

Maintenant, ce que je veux, c'est que je veux que l'utilisateur voie seulement les messages qui sont dans un rayon de 1 km de lui/elle.

Je sais à propos GeoFire, mais le problème est que je l'ai mis à jour mon projet tout le dernier Firebase SDK et la bibliothèque GeoFire présente n'est pas compatible avec le dernier SDK Firebase.

J'ai également essayé d'utiliser Geofences, mais je ne comprends pas comment le faire avec.

Je serais très reconnaissant si vous me recommandez des alternatives ou la façon de réaliser ce que je veux. S'il vous plaît!

+0

Vous serait soit construire une bibliothèque qui peut interroger sur le t wo valeurs en utilisant une seule propriété. Vous allez vous retrouver avec quelque chose de très similaire à Geofire. Ou vous pouvez utiliser Geofire. Si ce n'est pas encore mis à jour, vous pouvez le fourchonner et mettre à jour. –

+0

Notez qu'il existe une demande d'extraction ouverte qui rend Geofire compatible avec le dernier SDK Firebase. https://github.com/firebase/geofire-java/pull/24 Il n'a pas encore été publié pour diverses raisons, mais vous pouvez l'utiliser comme base pour votre propre travail. –

+0

@FrankVanPuffelen hey, merci encore. Une chose que je veux savoir est que, après l'avoir forgé et mis à jour, comment l'utiliser? Est-ce que je téléchargerais l'exemple entier ou comment? –

Répondre

1

Ceci est un problème intéressant. Tout d'abord, travailler avec deux valeurs (Latitude & Longitude) apporte une limitation à la fin mathématique pour obtenir la zone rayon-cercle. Une façon de surmonter cela est d'utiliser GeoHash https://en.wikipedia.org/wiki/Geohash et en fonction de la précision, le niveau de zoom peut être réglé. Peu de références qui peuvent être utiles sont https://gis.stackexchange.com/questions/18330/would-it-be-possible-to-use-geohash-for-proximity-searches

Dans firebase: https://firebase.googleblog.com/2013/09/geofire-location-queries-for-fun-and.html

API Google Maps est également riche de caractéristiques géométriques qui peuvent être explorées https://developers.google.com/maps/documentation/javascript/reference#spherical

autre alternative peut utiliser un outil de géo-spatiale comme la base de données PostGreSql/PostGis, qui a des fonctions puissantes pour vérifier dans un rayon de jeu https://gis.stackexchange.com/questions/77072/return-all-results-within-a-30km-radius-of-a-specific-lat-long-point