1
2つの場所の間のルートを取得しようとしています。MKDirectionsRequestとMKMapViewを使用してルートが表示されない、xcodeが '予期しないウェイポイントインデックス'を表示する
func fetchRoute(index: Int){
self.resultView.isHidden = true;
destLocation = self.arrResult[index];
let request: MKDirectionsRequest = MKDirectionsRequest()
request.source = curLocation
request.destination = destLocation
request.transportType = MKDirectionsTransportType.automobile;
request.requestsAlternateRoutes = true
let directions = MKDirections(request: request)
directions.calculate { [unowned self] response, error in
guard let unwrappedResponse = response else { return }
for route in unwrappedResponse.routes {
self.mapView.add(route.polyline)
self.mapView.setVisibleMapRect(route.polyline.boundingMapRect, animated: true)
}
}
}
とデリゲートメソッドのため:実行すると、それはコンソールに次のメッセージを与える
extension MapView : MKMapViewDelegate {
func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer {
let renderer = MKPolylineRenderer(polyline: overlay as! MKPolyline)
renderer.strokeColor = UIColor.blue
return renderer
}
}
:後
は、クラスの機能のために私のコードです
_errorCodeForProblemDetail: unexpected waypoint index
nw_socket_handle_socket_event Event mask: 0x4
nw_socket_handle_socket_event Socket received WRITE_CLOSE event
tcp_connection_cancel 1
nw_endpoint_handler_cancel [1 gsp-ssl.ls.apple.com:443 ready resolver (satisfied)]
nw_endpoint_handler_cancel [1.1 17.130.137.75:443 cancelled socket-flow (null)]
nw_endpoint_handler_cancel [1.2 17.130.137.77:443 ready socket-flow (satisfied)]
__nw_socket_service_writes_block_invoke sendmsg(fd 9, 37 bytes): socket has been closed
cancelled socket-flow (null)] Socket protocol sent error: [32] Broken pipe
nw_endpoint_flow_protocol_disconnected [1.2 17.130.137.77:443 cancelled socket-flow (null)] Output protocol disconnected
nw_endpoint_handler_cancel [1.3 17.130.137.73:443 initial path (null)]
nw_endpoint_handler_cancel [1.4 17.130.137.79:443 initial path (null)]
nw_resolver_cancel_on_queue 0x7d9fa730
[NWConcrete_tcp_connection dealloc] 1
しかし、そこにマップビューには出力されません!何も起こりません!私はこの問題に直面し、将来のユーザーを導くために、この答えを追加スウィフト3.0 &のXcode 8.0
OSログはXcode 8で表示されます。あなたがログを使用して削除する場合は、ターゲット – Vinodh
のOS_ACTIVITY_MODEを使用してください@Vinodhログは問題ではありません、問題はログだけがマップビューに結果が印刷されていない、私はこの点を言及するために私の質問を編集しました。 – demonofthemist
@demonofthemistこれにはどんな解決策が見つかりましたか? – Cognoscis