我正在尝试在我的应用中加入一项功能,通过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)
}
}
}
}
此外,我不希望它必须打开地图应用程序。我需要它来找到我的应用程序内的路线。
答案 0 :(得分:1)
MKDirectionsRequest
有一个transportType属性。在创建传输请求后立即添加:
let request = MKDirectionsRequest()
request.transportType = .Walking
(我之前从未试图获得行走方向,但我发现在Xcode文档中的时间不到30秒。了解Xcode"文档和API参考"在帮助菜单。它包含大量信息。)