Карты Google - reverseGeocodeCoordinate не будет печатать адрес в Сингапуре - PullRequest
0 голосов
/ 11 февраля 2019

Я работаю над приложением, которое использует 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()
        }
    }
}

1 Ответ

0 голосов
/ 11 февраля 2019

Ваша охрана позволит вашему коду продолжаться только в том случае, если все свойства sublocality, locality и administratorArea не равны нулю.При использовании в Сингапуре одно из этих свойств может быть недоступно, и ваш код возвращается до места печати. ​​

...