Google 地图 - reverseGeocodeCoordinate 不会打印新加坡的地址
Google Maps - reverseGeocodeCoordinate won't print address in Singapore
我正在开发使用 Google 地图的应用程序,并尝试打印地址。但是,当我在新加坡周围移动地图时它不起作用。我得到了坐标,但没有打印位置。下面是我的代码。已经尝试
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()
}
}
}
只有当所有属性 sublocality、locality 和 administrativeArea 都不为 nil 时,您的守卫才会让您的代码继续。当您在新加坡使用它时,这些属性之一可能不可用,并且您的代码在打印位置之前 returns。
我正在开发使用 Google 地图的应用程序,并尝试打印地址。但是,当我在新加坡周围移动地图时它不起作用。我得到了坐标,但没有打印位置。下面是我的代码。已经尝试
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()
}
}
}
只有当所有属性 sublocality、locality 和 administrativeArea 都不为 nil 时,您的守卫才会让您的代码继续。当您在新加坡使用它时,这些属性之一可能不可用,并且您的代码在打印位置之前 returns。