Получение широты и долготы из Cloud Firestore и добавление их в Mapbox в качестве аннотации - PullRequest
0 голосов
/ 22 февраля 2019

Я пытаюсь получить номер рейса, широту и долготу из всех документов Firestore и добавить их как аннотации Mapbox в mapView.Пока что код извлекает данные из Cloud Firestore и сохраняет их как переменные.Кроме того, код отображает карту Mapbox с координатами, но они должны быть назначены вручную в массиве

У меня проблемы с добавлением переменных из Firestore в массив координат.

Я нашел это «Добавить аннотацию после извлечения широты и долготы пользователей из Firebase» , которая была вдоль правильных линий, но это связано с firebase, а не с firestore.

Любая помощь будет принята с благодарностью!

class HomeViewController: UIViewController, MGLMapViewDelegate {
override func viewDidLoad() {
    super.viewDidLoad()

    let mapView = MGLMapView(frame: view.bounds)
    mapView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
    mapView.styleURL = MGLStyle.darkStyleURL
    mapView.tintColor = .lightGray
    mapView.centerCoordinate = CLLocationCoordinate2D(latitude: 0, longitude: 66)
    mapView.zoomLevel = 2
    mapView.delegate = self
    view.addSubview(mapView)

    var aircraftArray = [""]


    let db = Firestore.firestore()
    let AircraftRef = db.collection("LiveAircraftData").getDocuments { (snapshot, err) in
        if let err = err {
            print("Error getting documents: \(err)")
        } else {
            for document in snapshot!.documents {
                let FlightNumber = document.documentID
                let latitude = document.get("Latitude") as! Double
                let longitude = document.get("Longitude") as! Double

                print(FlightNumber, latitude, longitude)

                var Coordinates = CLLocationCoordinate2D(latitude: latitude, longitude: longitude)
                aircraftArray.append(Coordinates)

                var pointAnnotations = [MGLPointAnnotation]()
                for coordinate in Coordinates {
                    let point = MGLPointAnnotation()
                    point.coordinate = coordinate
                    point.title = "\(coordinate.latitude), \(coordinate.longitude)"
                    pointAnnotations.append(point)
                }

                mapView.addAnnotations(pointAnnotations)


            }

        }
    }
}

Вот так выглядит моя база данных

скриншот кода

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...