我正在尝试在我的应用程序中加入一个功能,它将通过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)
                    }

                }


            }

        }

我也不希望它必须打开地图应用程序。我需要它在我的应用程序中找到路线。

最佳答案

MKDirectionsRequest具有transportType属性。在创建传输请求后立即添加此项:

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

(我以前从未尝试过获取步行方向,但我在Xcode文档中发现了这一点,只需不到30秒。在帮助菜单中学习Xcode“文档和API参考”的方法。它包含了丰富的信息。)

09-19 07:33