티스토리 뷰

기존에는 내 위치(위치 권한 허용)와 새싹 캠퍼스 위치(위치 권한 허용X)의 날씨만 받아올 수 있었다.

 

 

MapView를 이용해서 지정한 위치의 날씨를 받아오는 기능도 있으면 좋을 것 같아 추가해보았다.

 

 

 

 

먼저, + 버튼을 눌렀을 때 현재 위치를 Annotation을 이용해 표시한 MapView를 띄워주도록 하였다.

 

 

MapView에서 위치를 바꿀 때마다 Annotation으로 현재 센터 표시를 하고 좌표를 구해주었다.

 

 

날씨 알아보기 버튼을 눌렀을 때, 클로저를 이용해 값을 전달하여 날씨를 구하고 레이블에 표시해주었다.

 

 

+옆의 위치 버튼을 누르면 다시 현재 위치의 날씨를 표시해주도록 하였다.

 


클로저를 이용한 값 전달 코드

 

 

 

데이터를 전달하는 맵뷰 컨트롤러에서 locationHandler를 선언 후, 날씨 알아보기 버튼의 액션으로 호출하였다.

 

 

데이터를 받는 뷰컨트롤러에서 맵뷰를 띄울때, locationHandler내의 코드를 작성해주었다.

 

 

 

MapView에서 위치 옮겼을 때 좌표 받아오기

 

 

MKMapViewDelegate내의 regionDidChangeAnimated메서드를 통해 구해주었다.

 

좌표말고도 Annotation도 매번 추가해주도록 하였다.

 

delegate프로토콜을 채택했으면 위임자도 지정해야하는데 까먹고 왜 안되는지 몰라서 오래 고민함..

댓글
최근에 올라온 글
Total
Today
Yesterday