如何在 Swift 中使用 MapKit 在两个地点之间绘制路线?
要在地图上绘制两点之间的路线,我们需要这两个点的坐标。
一旦有了两个点的坐标,我们可以使用下面给出的函数在 map 中两个点之间显示线路。在本例中,我将使用两个随机位置作为两点。
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]) }
为了展示结果,我们在本教程的 ViewDidLoad 中调用此函数,但是你可以根据需要使用它。
在那之前,我们必须创建两个位置。
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) }
当我们在设备上运行上述代码时,会给出以下输出
广告