2

使用 mapKit,我想通过显示当前步骤的说明来引导用户上路。因此,一旦完成该步骤,就为相应的(下一个)步骤更新指令。

据我所知,mapKit 不允许您直接这样做。我找到了这篇文章,但它在 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' 不同

任何人都知道如何设置每一步的最后一点?或者是否有某种魔法可以告诉用户在哪一步。或者如果他不在应用程序指示的方向?

4

1 回答 1

0

我自己找到了解决方案。因此,如果有人遇到同样的问题,我会在 swift 中翻译此处找到的 Obj-c 代码:

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")
于 2015-11-14T11:07:15.827 回答