0

J'ai une base de données Firebase où l'utilisateur met à jour ses emplacements (lattitude et longitude) quand il utilise l'application. Dans le même temps, l'utilisateur voit tous les emplacements des autres utilisateurs qui utilisent leurs emplacements de la même manière.Filtrer seulement les plus proches emplacements de la base de données

Je souhaite afficher tous les emplacements des utilisateurs qui se trouvent à une distance X de l'utilisateur. Y a-t-il un algoritme ou quelque chose pour filtrer ça? En ce moment, l'utilisateur verra tous les lieux de l'événement s'il est aux États-Unis, il peut voir les emplacements des utilisateurs actifs de la France.

J'utilise MapKit et CoreLocation

Répondre

1

Vous pouvez utiliser le distance sur un objet CLLocation et imprimer ceux qui sont à la distance souhaitée.

Quelque chose comme ceci:

let userLocation = CLLocation(latitude: userLat, longitude: userLong) 
let anotherLocation = CLLocation(latitude: anotherLat, longitude: anotherLong) 
let distance = anotherLocation.distance(from: userLocation) 

if distance < desiredDistance { 
    // within range 
} 
+0

On dirait une bonne solution. Merci – OMGImOut

+0

Np, heureux d'aider! –