[ios] 지도 위에 사용자 정의 경로 표시하기

iOS 앱에서 사용자 정의 경로를 지도 상에 표시하는 방법을 알아보겠습니다.

지도 표시하기

먼저, 지도를 표시하기 위해 MKMapView를 사용합니다. 이를 통해 지도 위에 경로를 나타낼 수 있습니다.

import MapKit

class MapViewController: UIViewController, MKMapViewDelegate {
    @IBOutlet weak var mapView: MKMapView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        mapView.delegate = self
        // 지도 초기화 및 표시
        let region = MKCoordinateRegion(center: CLLocationCoordinate2D(latitude: 37.7749, longitude: -122.4194), latitudinalMeters: 1000, longitudinalMeters: 1000)
        mapView.setRegion(mapView.regionThatFits(region), animated: true)
    }
}

사용자 정의 경로 추가하기

사용자 정의 경로를 추가하기 위해 MKPolyline을 사용하여 지도 위에 선을 그립니다.

func drawCustomPath() {
    // 경로의 좌표 배열 생성
    let locations = [
        CLLocationCoordinate2D(latitude: 37.7749, longitude: -122.4194),
        CLLocationCoordinate2D(latitude: 37.335480, longitude: -122.009220)
    ]
    // 지도 위에 경로 추가
    let route = MKPolyline(coordinates: locations, count: locations.count)
    mapView.addOverlay(route)
}

func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer {
    if let polyline = overlay as? MKPolyline {
        let renderer = MKPolylineRenderer(overlay: polyline)
        renderer.strokeColor = UIColor.blue
        renderer.lineWidth = 3
        return renderer
    }
    return MKOverlayRenderer()
}

위의 코드에서 drawCustomPath 함수는 경로를 그리는 역할을 합니다. 그리고 mapView(_:rendererFor:) 메서드는 경로의 스타일을 지정합니다. 경로가 추가되면 사용자 정의 경로가 지도 위에 표시됩니다.

이제 위와 같은 방법으로 iOS 앱에서 지도 위에 사용자 정의 경로를 표시할 수 있습니다.

참고 자료

Apple 공식 문서 - MapKit

결론

이제 iOS 지도 앱에서 사용자 정의 경로를 간단하게 표시하는 방법을 알아보았습니다. 사용자가 앱 내에서 지정한 경로를 시각적으로 나타내는 데 유용한 기능입니다.