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

私は自分で解決策を見つけました。したがって、誰かが同じ問題に遭遇したことがある場合は、ここで見つかった 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 に答える