Я делаю приложение, которое собирает информацию о ресторанах от пользователей в виде журналов и показывает собранные рестораны в зависимости от местоположения, если их запрашивает другой пользователь. Часть регистрации сделана. Приложение может получать входные данные (фотографии, комментарии, оценки и т. д.) о ресторане от пользователя, получать данные о местоположении с карт Google и сохранять все эти данные в Firebase. Таким образом, долгота/широта каждого ресторана будет сохранена в Firebase. Теперь проблема заключается в том, что другим пользователям по запросу показываются близлежащие рестораны. У меня есть часть Google Maps SDK, но отправка запроса в Firebase, чтобы найти ближайший ресторан (ы), работает не так хорошо.
locationsRef.queryOrderedByChild("longitude").queryStartingAtValue(locationManager.location!.coordinate.longitude-1).queryEndingAtValue (locationManager.location!.coordinate.longitude+0.01).observeEventType(.ChildAdded, withBlock: { (snapshot) -> Void in
//This part searches for restaurants within 0.01 degrees in longitude
locationsRef.queryOrderedbyChild("latitude").queryStartingAtValue(locationManager.location!.coordinate.latitude-1).queryEndingAtValue(locationManager.location!.coordinate.latitude+0.01).observeEventType(.ChildAdded, withBlock: { (snapshot) -> Void in
// This part does the same for latitude (0.01 degrees is around 1km)
// Add name label UILabel here
self.eateryNameLabel.text = name
// Add address label UILabel here
self.eateryAddressLabel.text = address
var names = [String]()
var addresses = [String]()
var longs = [Double]()
var lats = [Double]()
for _ in snapshot.children {
var name = snapshot.value!["eateryname"] as! String
names.append(name)
var address = snapshot.value!["address"] as! String
addresses.append(address)
var long = snapshot.value!["longitude"] as! Double
longs.append(long)
var lat = snapshort.value!["latutide"] as! Double
lats.append(lat)
}
Итак, это то, что я пытался сделать, но я не могу запустить его, потому что у меня пока нет хорошего понимания извлечения данных из Firebase. 'ObserveEventType(.ChildAdded') также вызывает ошибку двусмысленности. Это самый простой способ сделать это? Я пропустил какие-то важные строки?