geocodeAddressString 不适用于 swift

Pad*_*ang 5 core-location clgeocoder swift

您好,我正在尝试使用 geocodeAddressString 将地址转换为地图上的地标,但是无论我传递给此方法的地址是什么,下面的块都永远不会被执行,有人能给我一些启发吗?非常感谢顺便说一句,我可以在控制台上看到“之前”和“之后”,但没有“你好”

  let geo = CLGeocoder()
    print("before")
    geo.geocodeAddressString(("4 Bradford St, Perth WA 6050"), completionHandler: {
        (placemarks, error) -> Void in

        print ("hello")
        if let placemark = placemarks?[0]
       {
          self.mapView.addAnnotation(MKPlacemark(placemark: placemark))
        }
    })

  print ("after")
Run Code Online (Sandbox Code Playgroud)

sab*_*gan 0

试试这个代码:

geocoder.geocodeAddressString(("4 Bradford St, Perth WA 6050"), completionHandler: {(placemarks, error) -> Void in

                    if let placemark = placemarks?.first {
                        let coordinates:CLLocationCoordinate2D = placemark.location!.coordinate
                        coordinates.latitude
                        coordinates.longitude


                        self.lat = coordinates.latitude
                        self.long = coordinates.longitude
                        print("lat \(self.lat)")
                        print("long \(self.long)")
                    }
                })
Run Code Online (Sandbox Code Playgroud)