Как получить направление движения в моем приложении iOS6


Я использую Apple Map в моем приложении и на моем представлении я хочу показать направление движения от местоположения пользователя к текущему местоположению, которое у меня есть на представлении, теперь я просто хочу, чтобы все это было внутри моего приложения только я могу показать направление движения на mapview, я пытался использовать приложение apple map, но после того, как я позвоню ему из моего приложения, оно приведет меня к приложению apple map, где я получаю направление движения, но я не могу вернуться обратно в мое приложение, поэтому я думаю, что то, что я могу сделать что-то в самом приложении, так что я могу получить направления движения на моем текущем виде сам ..

NSString* addr = [NSString stringWithFormat:@"http://maps.apple.com/maps?daddr=%1.6f,%1.6f&saddr=%1.6f,%1.6f",coordinate.latitude,coordinate.longitude,mapView.userLocation.coordinate.latitude,mapView.userLocation.coordinate.longitude];
        NSURL* url = [[NSURL alloc] initWithString:[addr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
        [[UIApplication sharedApplication] openURL:url];

Этот код переносит меня в приложение Apple map из моего родного приложения, но я не могу вернуться непосредственно к своему app.is есть ли возможное решение, чтобы я мог вернуться к своему приложению после получения направления движения ?? (webview не работал на меня.могу ли я добавить кнопку Назад в приложение apple или что ).Пожалуйста помочь.... Большое спасибо !!

Или, пожалуйста, может ли кто-нибудь предложить меня лучший код для реализации, так что я могу сделать все это только в моем приложении ?

Мне нужна карта в приложении, изображающая навигационные маршруты и направления движения...

2 4

2 ответа:

Это не способ достижения направлений,

Я сделал для вас образец, который охватывает все версии iOS, новые Google Maps и iOS 6 tom tom maps, а также.

Вот оно:

if([[[UIDevice currentDevice] systemVersion] compare:@"6.0" options:NSNumericSearch] == NSOrderedDescending){
        //6.0 or above
        NSString *Destinationlatlong =[NSString stringWithFormat:@"%@,%@",your.latitude,your.longitude];

        NSString* addr = [NSString stringWithFormat:@"comgooglemaps://?saddr=%f,%f&daddr=%@",[AppDelegate zDelegate].location.coordinate.latitude,[AppDelegate zDelegate].location.coordinate.longitude, Destinationlatlong];
        addr=[addr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

        NSURL* url = [[[NSURL alloc] initWithString:addr]autorelease];
        //    NSLog(@"url %@",url);
        if ([[UIApplication sharedApplication]canOpenURL:url]) {
            [[UIApplication sharedApplication] openURL:url];
        }else{
            CLLocationCoordinate2D coords =
            CLLocationCoordinate2DMake([your.latitude doubleValue],[your.longitude doubleValue]);
            MKPlacemark *placeMark = [[MKPlacemark alloc]
                                      initWithCoordinate:coords addressDictionary:nil];


            MKMapItem *destination = [[MKMapItem alloc]initWithPlacemark:placeMark];

            [destination openInMapsWithLaunchOptions:nil];
        }
    }else{
        NSString *Destinationlatlong =[NSString stringWithFormat:@"%@,%@",your.latitude,your.longitude];
        NSString* addr = [NSString stringWithFormat:@"http://maps.google.com/maps?saddr=Current+Location&daddr=%@",Destinationlatlong];
        addr=[addr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

        NSURL* url = [[[NSURL alloc] initWithString:addr]autorelease];
        //    NSLog(@"url %@",url);
        if ([[UIApplication sharedApplication]canOpenURL:url]) {
            [[UIApplication sharedApplication] openURL:url];
        }else{
            UIAlertView *alert=[[[UIAlertView alloc] initWithTitle:@"Warning!" message:@"Device does not support this functionality" delegate:nil cancelButtonTitle:@"Okay" otherButtonTitles: nil]autorelease] ;
            [alert show];
        }
    }

Это должно помочь вам начать. Короче говоря, получите инструкцию по вождению от Google api в json, проанализируйте ее и отобразите на своей собственной карте с помощью MKPolyline http://iosguy.com/2012/05/22/tracing-routes-with-mapkit/