我正在开发使用Google Map的应用程序,并尝试打印地址。但是,当我在新加坡周围移动地图时,它不起作用。我得到了坐标,但未打印位置。下面是我的代码。已经尝试过
let lines = address.lines
然后打印
self.locationTF.text = lines.joined(separator: "\n")
,但地址仍然没有出现。当我在马来西亚和印度尼西亚(而不是在新加坡)周围移动地图时,我的代码正在工作。有谁知道为什么会这样?
// Implement Geocoding - show street address
func reverseGeocodeCoordinate(_ coordinate: CLLocationCoordinate2D) {
self.vc.locationTF.unlock()
let geocoder = GMSGeocoder()
print("COORDINATE: ", coordinate)
geocoder.reverseGeocodeCoordinate(coordinate) { response, error in
guard let address = response?.firstResult(), let sublocality = address.subLocality, let locality = address.locality, let state = address.administrativeArea else {
return
}
self.vc.locationTF.text = sublocality + ", " + locality + ", " + state
print("LOCATION: ", sublocality + locality + state)
UIView.animate(withDuration: 0.25) {
self.vc.view.layoutIfNeeded()
}
}
}
答案 0 :(得分:0)
仅当所有属性的子局部性,局部性和管理区域都不为零时,您的警卫才会让您的代码继续。当您在新加坡使用它时,这些属性之一可能不可用,并且代码会在打印位置之前返回。