swift - geocodeAddressString 不适用于 swift

标签 swift core-location clgeocoder

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

  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")

最佳答案

使用这个

import CoreLocation

let address = "1 Infinite Loop, CA, USA"
let geocoder = CLGeocoder()

geocoder.geocodeAddressString(address, completionHandler: {(placemarks, error) -> Void in
   if((error) != nil){
      print("Error", error)
   }
   if let placemark = placemarks?.first {
      let coordinates:CLLocationCoordinate2D = placemark.location!.coordinate
      }
    })

关于swift - geocodeAddressString 不适用于 swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45094269/

相关文章:

ios - 解码 CLLocationAccuracy 常量

ios - Swift:如何通过按导航栏按钮访问选项卡栏项目

swift - 徽章图标未更新

iphone - 如何从 Core Location 获取 gps 点的距离?

iphone - 核心位置和速度测量

iOS Swift - CLGeocoder completionHandler block

ios - CLGeocoder 错误。 GEOErrorDomain 代码=-3

ios - 如果 reverseGeocodeLocation 返回一个位置标记数组,该如何处理?

ios - 移至自定义 UItableViewCell 中的下一个 UItextfield(具有多个部分的 Tableview)

ios - 将数据从 Pop-over ViewController UITextfield 传回 Master ViewController