2016-07-20 32 views
1

在应用程序打开后,我想在Swift中使用MapKit在用户的当前位置与特定位置之间绘制路线。使用swift和Mapkit,显示用户当前位置到特定位置的路线

我知道如何请求/获取用户当前位置的保持:

let locationManager = CLLocationManager() 

override func viewDidLoad() { 
    super.viewDidLoad() 
    originalTopMargin = topMarginConstraint.constant 
    locationManager.delegate = self 
    locationManager.requestWhenInUseAuthorization() 
    if CLLocationManager.locationServicesEnabled() { 
    locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters 
    locationManager.requestLocation() 
    } 
} 

什么我不知道的是,哪里代码实际计算和显示的路线属于?它会在这个功能吗?

func locationManager(manager:CLLocationManager, didUpdateLocations locations:[AnyObject]) 

我读过雷Wenderlich Mapkit教程和许多其他的网站,我有一个艰难的时间找到一个答案,我的具体问题。目前为止我发现的所有信息都有用,但并不完全符合我的要求。

回答

1

我很久没有这样做 - 但你想要做的是使用MKDirections API。

基本上你创建一个MKDirectionsRequest对象,你可以使用它来最终获得到达目的地的步骤列表。你也可以使用它来获得一个MKPolyLine对象来在你的地图上渲染这个对象。

这里是一个教程的链接。它在Objective-C中,但翻译代码应该相对容易。 http://www.devfright.com/mkdirections-tutorial/

+0

谢谢鲁弗斯。提供的例子是一个很好的例子,但它似乎并没有处理一些事情。 我希望能够在应用程序启动时绘制路线(而不是按下按钮后)。 我不能从例子中看出哪些函数实际计算并显示属于Swift中的路线。 –

+0

“实施MKDirections和MKDirectionsRequest”是链接文章中解释它的部分。整篇文章总体上贯穿整个过程,逐步解释它。如果你仔细阅读并理解它,你应该能够弄清楚你需要做什么。 –

相关问题