2017-12-03 3 views
-1

안녕하세요, 지오 코드를 뒤집어 쓰려고하는 [ "37.7", "-122.4"] 좌표가 있습니다. 그래서 나는 도시와 국가에 간단한 UI 레이블을달라고 할 수 있습니다. 그러나 CALLocation을 사용하여 placeAck에 표준으로 제공되는 administrativeArea var/메소드를 통해 상태를 가져올 때 nil을 반환합니다.ClLocation Placemark가 administrativeArea를 반환하지 않습니다.

▿ 몇 가지 : 1 개 요소 - 0 : 샌프란시스코 베이, 샌프란시스코 베이, 샌프란시스코, 미국 @ + 37.80000000 <, -122.50000000> +/- 100.00m, 지역 CLCircularRegion (식별자 : '< + 37.79999999, -122.50000000> 반경 141.72 '센터 : < + 37.79999999, -122.50000000>, 반경 : 141.72m)는

이것은 내가 다시 완료 핸들러에서 무엇을 얻을 수 있습니다. 어떤 국가가 돌아 오지 않는지 분명히합니다. 왜 그렇게 될 것이며 어떻게 아직도 국가를 얻을 수 있을까요?

이 액톤을 제어하는 ​​코드 블록은 모든 도움을받을 수 있습니다.

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 
       } 
      } 

     }) 

답변

0

온라인 데이터베이스와 상호 작용하고 있습니다. 이 항목에는 데이터베이스가 없습니다. 그것은 다소 이해할 수 있습니다. 왜냐하면 당신은 태평양의 한 부분 인 물속에있는 것처럼 보입니다. 그것은 국가의 영토 안에 있지 않습니다. 그러나 이것이 그 이유 일 수도 있고, 데이터베이스의 이상이나 오류 일 수도 있습니다. 당신이 할 수있는 일은 없습니다. 이 데이터베이스를 사용하기로 선택 했으므로 제공 한 정보를 받아 들여야합니다.

+0

여기에 데이터베이스에 오류가 있다고 생각되면 Apple에 버그를 신고 할 수 있습니다. – matt

+0

그래, 나는 단지 내가 물 한 몸에 있다는 것을 깨달았다. –