加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xcode – geocoder.geocodeAddressString今天不再适用于swift更

发布时间:2020-12-14 18:59:22 所属栏目:百科 来源:网络整理
导读:https://developer.apple.com/library/prerelease/mac/releasenotes/General/APIDiffsMacOSX10_11/Swift/CoreLocation.html 表明有一些变化 func geocodeAddressString(_ addressString: String!,completionHandler completionHandler: CLGeocodeCompletionH
https://developer.apple.com/library/prerelease/mac/releasenotes/General/APIDiffsMacOSX10_11/Swift/CoreLocation.html

表明有一些变化

func geocodeAddressString(_ addressString: String!,completionHandler completionHandler: CLGeocodeCompletionHandler!)

至:

func geocodeAddressString(_ addressString: String,completionHandler completionHandler: CLGeocodeCompletionHandler)

我的代码是:

var geocoder = CLGeocoder()

geocoder.geocodeAddressString("(event!.street),(event!.city),(event!.country)",completionHandler: {(placemarks: [AnyObject]!,error: NSError!) -> Void in
    if let placemark = placemarks?[0] as? CLPlacemark {
        self.event!.lat = placemark.location!.coordinate.latitude
        self.event!.long = placemark.location!.coordinate.longitude

        self.event!.getMiles(self.currentLocation!.location!.coordinate.latitude,clong: self.currentLocation!.location!.coordinate.longitude)
        var mile = self.event!.miles != nil ? NSString(format: "%.1f miles",self.event!.miles!) : "Location services off"
        self.milesButton.setTitle(mile as String,forState: .Normal)
    }
})

尝试:

var geocoder = CLGeocoder()
let address = "(event!.street),(event!.country)"
geocoder.geocodeAddressString(address,completionHandler: {(placemarks: [CLPlacemark]) in
     let placemark = placemarks[0]
     self.event!.lat = placemark.location!.coordinate.latitude
     self.event!.long = placemark.location!.coordinate.longitude
     self.event!.getMiles(self.currentLocation!.location!.coordinate.latitude,clong: self.currentLocation!.location!.coordinate.longitude)
     var mile = self.event!.miles != nil ? NSString(format: "%.1f miles",self.event!.miles!) : "Location services off"
     self.milesButton.setTitle(mile as String,forState: .Normal)
})

它只是说它不被允许.尝试了几种不同的组合.这是对xcode / swift的最新更新

提前致谢

解决方法

以这种方式使用geocodeAddressString:

geocoder.geocodeAddressString(address,completionHandler: {(placemarks: [CLPlacemark]?,error: NSError?) -> Void in

})

它会工作正常.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读