如何在 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)
}

当我们在设备上运行上述代码时,会给出以下输出

更新于: 30-7-2019

832 次浏览

开启你的 职业生涯

完成课程后获取认证

开始学习
广告