почему я получаю только один адрес из обратного геокодирования, в то время как я вызываю функции много раз - PullRequest
0 голосов
/ 13 октября 2019

На самом деле я использую API обратного гео-кодирования Google для преобразования latitude и longitude в адрес. У меня есть array местоположения (широта, долгота) и метод обратного геокодирования в for-loop, и я получаю только один адрес

struct  My_rides_Pick_location {

    var latitude  =  Double()
    var longitude = Double()

}

var Ride_Pick_Location = [My_rides_Pick_location]()

var Ride_Pick_Location = [My_rides_Pick_location(latitude: 10.77777, longitude: 12.11111),My_rides_Pick_location(latitude: 10.77777, longitude: 12.11111),My_rides_Pick_location(latitude: 10.77777, longitude: 12.11111)]


override func viewDidLoad() {
        super.viewDidLoad()

for a in My_rides_Pick_location
                {
                    let location: CLLocation =  CLLocation(latitude: a.latitude, longitude: a.longitude)

                   self.geo.reverseGeocodeLocation(location as CLLocation, preferredLocale: nil) { (clPlacemark: [CLPlacemark]?, error: Error?) in
                        guard let place = clPlacemark?.first else {
                            print("No placemark from Apple: \(String(describing: error))")
                            return
                        }
                        print(place.compactAddress)
                    }
                }
}
...