获取步行路线到位置

时间:2016-09-01 23:39:25

标签: ios swift mapkit

我正在尝试在我的应用中加入一项功能,通过MapKit为用户提供步行路线指向某个位置。我在地图应用程序上看过它,但我不知道自己该怎么做。我得到了一辆车的指示,但我很难知道如何走路。这就是我到目前为止所做的:

   func getDirections(){

        let request = MKDirectionsRequest()
        request.source = MKMapItem.mapItemForCurrentLocation()


        request.destination = destination
        request.requestsAlternateRoutes = false

        let directions = MKDirections(request: request)


        directions.calculateDirectionsWithCompletionHandler { (response, error) in

            if error != nil {

                print("Error \(error)")


            } else {


                //self.dispLayRout(response)

                var overlays = self.mapView.overlays
                self.mapView.removeOverlays(overlays)

                for route in response!.routes as! [MKRoute] {

                    self.mapView.addOverlay(route.polyline,
                        level: MKOverlayLevel.AboveRoads)

                    var instructionNumber = 0
                    for next  in route.steps {
                        instructionNumber += 1
                        print(next.instructions)
                    }

                }


            }

        }

此外,我不希望它必须打开地图应用程序。我需要它来找到我的应用程序内的路线。

1 个答案:

答案 0 :(得分:1)

MKDirectionsRequest有一个transportType属性。在创建传输请求后立即添加:

let request = MKDirectionsRequest()
request.transportType = .Walking

(我之前从未试图获得行走方向,但我发现在Xcode文档中的时间不到30秒。了解Xcode"文档和API参考"在帮助菜单。它包含大量信息。)