我对Swift和Cocoapods很新。我正在上几个在线课程学习,我遇到了一个据说有我想要的所有东西。
为了尝试解决这个问题我老实说只重新读取所有代码并再次完成所有步骤,看看我是否犯了任何错误。我不是那么有经验所以我有点被蒙上眼睛,但一切都好看
有问题的部分代码就是这个。我所关注的“课程”是“raywenderlich.com”的Google Maps IOS SDK教程
private func reverseGeocodeCoordinate(_ coordinate: CLLocationCoordinate2D) {
// 1
let geocoder = GMSGeocoder()
// 2
geocoder.reverseGeocodeCoordinate(coordinate) { response, error in
guard let address = response?.firstResult(), let lines = address.lines else {
return
}
// 3
self.addressLabel.text = lines.joined(separator: "\n")
// 4
UIView.animate(withDuration: 0.25) {
self.view.layoutIfNeeded()
}
}
}
这只是获得反向地理编码工作的第一步所以基本上所有步骤都不是一个选项,因为它的“主要”部分不起作用
发布于 2019-06-13 10:54:14
我一直在我的项目中使用以下方式,它正在运行。
import GoogleMaps
struct AddressHelper {
static func reverseGeocodeCoordinate(_ coordinate: CLLocationCoordinate2D, onCompletion: @escaping(GMSAddress) -> Void) {
let geocoder = GMSGeocoder()
geocoder.reverseGeocodeCoordinate(coordinate) {response, error in
guard let address = response?.firstResult() else { return }
onCompletion(address) // TODO: Handle the error
}
}
}
func reverseCoordinate(_ coordinate: CLLocationCoordinate2D) {
AddressHelper.reverseGeocodeCoordinate(
coordinate,
onCompletion: { [weak self] (address) in
guard let sSelf = self else { return }
let lines = address.lines
sSelf.location = lines?.joined(separator: "\n")
sSelf.coordinate = coordinate
sSelf.addressField.text = sSelf.location
})
}
https://stackoverflow.com/questions/-100007009
复制相似问题