mapView.showUserLocation = true
을 사용하여 사용자 위치를 플롯하고 내 MKMapView
개체에 주석으로 표시합니다.mapView 및 CLLocationManager를 사용하여 iOS Swift에서 두 위치 간 길 찾기 방법
이제 사용자의 위치를 얻었을 때, 해당 좌표 세트에서 내 목적지까지의 경로를 표시하고 싶습니다. Error: Error Domain=MKErrorDomain Code=5 "Directions Not Available" UserInfo=0x1742f7600 {NSLocalizedFailureReason=A route could not be determined between these locations., MKErrorGEOError=-403, MKDirectionsErrorCode=1, NSLocalizedDescription=Directions Not Available}
좀했다 : 나는 다음과 같은 오류가 나는 그것을 디버깅을 시도 할 때,
func mapView(mapView: MKMapView, didUpdateUserLocation userLocation: MKUserLocation) {
mapView.showsUserLocation = true
print("test")
//Setting Up Source Location
let sourceLocation = self.mapView.userLocation.coordinate
let sourcePlacemark = MKPlacemark(coordinate: sourceLocation, addressDictionary: nil)
let sourceMapItem = MKMapItem(placemark: sourcePlacemark)
let sourceAnnotation = MKPointAnnotation()
sourceAnnotation.title = "You are Here"
if let location = sourcePlacemark.location {
sourceAnnotation.coordinate = location.coordinate
}
//Setting Up Destination Location
let destinationLocation = CLLocationCoordinate2D(latitude: 28.6621292, longitude: 77.30198310000003)
let destinationPlacemark = MKPlacemark(coordinate: destinationLocation, addressDictionary: nil)
let destinationMapItem = MKMapItem(placemark: destinationPlacemark)
let destinationAnnotation = MKPointAnnotation()
destinationAnnotation.title = "Conclave is Here"
if let location = destinationPlacemark.location {
destinationAnnotation.coordinate = location.coordinate
}
self.mapView.removeAnnotations(self.mapView.annotations)
self.mapView.showAnnotations([sourceAnnotation,destinationAnnotation], animated: true)
//Plotting a course from Source to Destination
let directionRequest = MKDirectionsRequest()
directionRequest.source = sourceMapItem
directionRequest.destination = destinationMapItem
directionRequest.transportType = .Automobile
// Calculate the direction
let directions = MKDirections(request: directionRequest)
// 8.
directions.calculateDirectionsWithCompletionHandler {
(response, error) -> Void in
guard let response = response else {
if let error = error {
//print("Error: \(error)")
}
return
}
let route = response.routes[0]
self.mapView.addOverlay((route.polyline), level: MKOverlayLevel.AboveRoads)
let rect = route.polyline.boundingMapRect
self.mapView.setRegion(MKCoordinateRegionForMapRect(rect), animated: true)
}
}
을하지만 : 나는 그것을하려고했던 방법은 다음이
에 대한 MKDirections
이다 사용하여 시도 연구 한 결과 인도에 MKDirections
을 사용할 수 없음을 알았습니다. 따라서 사용자에게 내비게이션 길 찾기를 표시하는 방법에 대해 궁금합니다.
도움 주셔서 감사합니다.
최선의 선택은 GET 방향과 placeinformation에 대한 GOOGLEPLACEAPI를 사용합니다. –