2015-09-05 53 views
2

使用mapKit,我想通過顯示當前步驟的指令來指導用戶。因此,一旦步驟完成,指令就會更新爲相應的(下一個)步驟。swift:實時顯示mkdirection指令

從我所知道的,mapKit不允許你這麼做。我發現this post,但它在Obj-C中,我正在使用swift。到目前爲止,我的代碼如下所示:

for step in self.carRoute!.steps { 
    var laStep: MKRouteStep = step as! MKRouteStep 
    var mapPointForEndOfStep: MKMapPoint = laStep.polyline(laStep.polyline.pointCount - 1) as! MKMapPoint 
} 

但我得到這個錯誤:「(_) - > _」不等同於「MKPolyline」

任何人知道如何設置的最後一個點每一步?或者是否有某種魔法會告訴用戶在哪一步。或者,如果他不在應用程序指示的方向?

回答

0

我自己找到了解決方案。所以,如果有誰遇到同樣的問題,我翻譯的對象 - 代碼中發現在迅速here

let thisStep: MKRouteStep = (self.carRoute?.steps[self.stepsCounter])! 
let pointsArray = thisStep.polyline.points() 
let lastPoint = pointsArray[thisStep.polyline.pointCount - 1] 
let theLoc: CLLocationCoordinate2D = MKCoordinateForMapPoint(lastPoint) 

self.theRegion = CLCircularRegion(center: theLoc, radius: 50, identifier: "turningPoint") 
+0

它是如何發揮出來的嗎?您是否使用CLCircularRegion進行區域監控?如果用戶永遠不會進入/退出該區域,而是移動到某個後續路徑步驟? – Aodh