前向地理编码完成处理程序未在iOS swift4中执行

前向地理编码完成处理程序未在iOS swift4中执行,ios,google-maps,swift4,geocoding,cllocation,Ios,Google Maps,Swift4,Geocoding,Cllocation,我正在尝试将地址转换为latlongs以将它们放在googleMap上,但当我将地址字符串传递给geoCoder.geoAddressString(fullAddress)并运行应用程序时,completionHandler没有执行,我尝试在geoCoder.geocodeAddressString(fullAddress){(placemarks,error)处使用断点当我单击Steppover时,如果completionHandler 现在,我不知道为什么会这样…有人知道吗?请帮忙 在这里查

我正在尝试将地址转换为latlongs以将它们放在googleMap上,但当我将地址字符串传递给
geoCoder.geoAddressString(fullAddress)
并运行应用程序时,completionHandler没有执行,我尝试在
geoCoder.geocodeAddressString(fullAddress){(placemarks,error)处使用断点
当我单击Steppover时,如果completionHandler

现在,我不知道为什么会这样…有人知道吗?请帮忙

在这里查看我的代码:

 func loadMarkers() {

        for i in 0..<self.professioanlDetailsAH.count {

            let fullAddress = "\(self.professioanlDetailsAH[i]["searchAddress"]!)"

            if !fullAddress.isEmpty {
                var geoCoder = CLGeocoder()
                geoCoder.geocodeAddressString(fullAddress) { (placemarks, error) in
                            guard
                                let placemarks = placemarks,
                                let addressLocation = placemarks.first?.location
                                else {
                                    // handle no location found
                                    return
                            }

                            let latitude = addressLocation.coordinate.latitude
                            let longitude = addressLocation.coordinate.longitude
                }
            }
        }
    }
func loadMarkers(){

对于0中的i。请将断点放在完成处理程序中。
geoCodeAddressString
是异步调用,它将立即返回。另外,请检查错误并打印它,如果它不是零。@Badhan Ganesh感谢您的回复,请查看我的编辑,它将在循环完成后调用geoCoder,因此我将获得l在循环中传递的最后一个地址的末尾。但是,我想传递循环中的所有地址。如何做???在映射中的何处添加标记???for循环中的
geocodeAddressString
将在每次迭代中返回,但可能需要一些时间。
func loadMarkers() {
        for i in 0..<self.professioanlDetailsAH.count {

            print(self.professioanlDetailsAH[i]["firstName"]!)

            let fullAddress = "\(self.professioanlDetailsAH[i]["searchAddress"]!)"

            print(fullAddress)

            if !fullAddress.isEmpty {
            geoCoder.geocodeAddressString(fullAddress) {(placemarks, error) in

                if error != nil {

                    print(error!)
                }

                else{
                guard
                        let placemarks = placemarks,
                        let addressLocation = placemarks.first?.location
                else {return}

                            let latitude = addressLocation.coordinate.latitude
                            let longitude = addressLocation.coordinate.longitude

                print("lat:\(latitude), long:\(longitude)")

                }
            }
       }
   }