я хочу отобразить точку маршрута точки внутри моего MAPview, я использую этот код для создания маршрута:отображения маршрут на IOS 7 карт: addOverlay не имеет никакого эффекта
- (IBAction)backToYourCar {
MKPlacemark *sourcePlacemark = [[MKPlacemark alloc] initWithCoordinate:self.annotationForCar.coordinate addressDictionary:nil];
NSLog(@"coordiante : locationIniziale %f", sourcePlacemark.coordinate.latitude);
MKMapItem *carPosition = [[MKMapItem alloc] initWithPlacemark:sourcePlacemark];
MKMapItem *actualPosition = [MKMapItem mapItemForCurrentLocation];
NSLog(@"coordiante : source %f, ActualPosition %f", carPosition.placemark.coordinate.latitude ,actualPosition.placemark.coordinate.latitude);
MKDirectionsRequest *request = [[MKDirectionsRequest alloc] init];
request.source = actualPosition;
request.destination = carPosition;
request.requestsAlternateRoutes = YES;
MKDirections *directions = [[MKDirections alloc] initWithRequest:request];
[directions calculateDirectionsWithCompletionHandler:^(MKDirectionsResponse *response, NSError *error) {
if (error) {
NSLog(@"Error : %@", error);
}
else {
[self showDirections:response]; //response is provided by the CompletionHandler
}
}];
}
и это для шоу маршрута на карта:
- (void)showDirections:(MKDirectionsResponse *)response
{
for (MKRoute *route in response.routes) {
[self.mapView addOverlay:route.polyline level:MKOverlayLevelAboveRoads];
}
}
на самом деле этот код ничего не делает.
если я пытаюсь напечатать расстояние маршрута я получить правильное значение:
route distance: 1910.000000
то маршрут является правильным, но я не могу понять, почему он не появляется на карте!
Любые предложения?
Как настроить 'annotationForCar'? Вам нужна координата для всего, чтобы работать ... – Wain
Да, annotationForCar - это MKPointAnnotation, и она корректно отображается на mapView –