ClLocation Placemark不会返回administrativeArea

时间:2017-12-03 03:32:52

标签: ios swift cllocation

嘿,我有一些坐标[" 37.7"," -122.4"],我试图用来反转geoCode。所以我可以获得一个简单的UI标签的城市和州。 但是,当我使用CLLocation通过manageMark标准的administrativeArea var /方法获取状态时,它返回nil。

  

▿一些:1个元素        - 0:旧金山湾,旧金山湾,旧金山,美国@< + 37.80000000,-122.50000000> +/- 100.00m,区域CLCircularRegion(标识符:'< + 37.79999999,-122.50000000>半径141.72',中心:< + 37.79999999,-122.50000000>,半径:141.72m)

这是我从完成处理程序返回的内容。这显然没有任何状态从此返回。为什么会这样,我怎么能得到这个州。

附上控制此acton的代码块,感谢所有帮助。

 CLGeocoder().reverseGeocodeLocation(location, completionHandler: { (placeMark, error) in
            if error != nil{
                print("There was an error")
            }else{
                if let place = placeMark?[0]{
                    print(place)
                    print(place.locality ?? "")
                    print(place.subAdministrativeArea ?? "")
                    let myAttribute = [NSAttributedStringKey.font:UIFont(name: "Times New Roman", size: 15.3)!]
                    let myAttrString = NSAttributedString(string: place.locality ?? "", attributes: myAttribute)
                    locLabel.attributedText = myAttrString
                }
            }

        })

1 个答案:

答案 0 :(得分:0)

您正在与在线数据库进行交互。数据库中的此条目没有状态。这有点可以理解,因为你似乎身处太平洋的一部分水域;它不在一个国家的领土内。但是,无论是原因还是数据库中的怪癖或错误,您无能为力。您已选择使用此数据库,并且必须接受它为您提供的内容。