iOS/UIKit

MapKit을 구현해보자! - 2

융식 2022. 7. 20. 02:07

MapKit을 사용하다가 핀을 커스텀 할 일이 생겼다.

 

기본 핀의 생김새는 이렇게 생겼다.

 

클릭을 하게 되면?

 

 

귀여운 애니메이션이 나오면서 저렇게 뜨게 된다.

 

지도를 보기 위해 다른 위치로 드래그하여 이동하고, 다른 위치로 이동하면 다시 내 위치로 돌아오기 힘들 수 있다.

 

바로 내 위치로 오기 위한 버튼을 만들어보자

 

 

위치버튼을 만들어 IBAction으로 연결해 줍니다.

 

 

 

하지만 내가 원하는게 아니라면?

 

MKMapViewDelegate

 

MKMapViewDelegate 를 이용하여 커스텀하자!

 

//핀을 맵뷰에 나타내는 부분
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
	// 핀 생성
    let annotationView = MKMarkerAnnotationView(annotation: annotation, reuseIdentifier: nil)
	// 핀 색상 변경
    annotationView.markerTintColor = .green
	// 핀 이미지 변경
    annotationView.glyphImage = UIImage(systemName: "figure.walk.diamond.fill")
    return annotationView
}

 

컬러와 이미지만 바꾸어서 추가하였으니

 

실행하면

 

 

이렇게 바뀌는 것을 알 수 있습니다!