Để vẽ tuyến đường giữa hai Vị trí trên bản đồ, chúng ta cần có tọa độ của cả hai vị trí đó.
Khi chúng ta có tọa độ của cả hai vị trí, chúng ta có thể sử dụng hàm cho sẵn dưới đây để hiển thị đường thẳng giữa hai điểm trên bản đồ. Trong ví dụ này, tôi sẽ sử dụng hai vị trí ngẫu nhiên làm hai điểm.
func getDirections(loc1: CLLocationCoordinate2D, loc2: CLLocationCoordinate2D) { let source = MKMapItem(placemark: MKPlacemark(coordinate: loc1)) source.name = "Your Location" let destination = MKMapItem(placemark: MKPlacemark(coordinate: loc2)) destination.name = "Destination" MKMapItem.openMaps(with: [source, destination], launchOptions: [MKLaunchOptionsDirectionsModeKey: MKLaunchOptionsDirectionsModeDriving]) }
Chúng tôi sẽ gọi hàm này trong ViewDidLoad để hướng dẫn này hiển thị kết quả nhưng bạn có thể sử dụng nó theo nhu cầu của mình.
Trước đó, chúng tôi sẽ phải tạo hai vị trí.
override func viewDidLoad() { super.viewDidLoad() let coordinateOne = CLLocationCoordinate2D(latitude: CLLocationDegrees(exactly: 40.586746)!, longitude: CLLocationDegrees(exactly: -108.610891)!) let coordinateTwo = CLLocationCoordinate2D(latitude: CLLocationDegrees(exactly: 42.564874)!, longitude: CLLocationDegrees(exactly: -102.125547)!) self.getDirections(loc1: coordinateOne, loc2: coordinateTwo) }
Khi chúng tôi chạy đoạn mã trên trên thiết bị, kết quả sau sẽ được đưa ra