2013-02-11 4 views
4

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

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]; 

этот код возвращает меня к карте яблока приложение из моего родного приложение, но я не могу вернуться обратно обратно в мое приложение. Есть ли возможное решение, чтобы я мог вернуться к моему APP ПОСЛЕ ПОЛУЧЕНИЯ ДВИЖУЩИХ НАПРАВЛЕНИЙ ??? (webview didnot работает для me.can я могу добавить кнопку назад на приложении яблока или что) .Пожалуйста, помогите .... Спасибо большое!

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

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

+0

ли вы имеете в виду iOS4 (который вы помечена) или iOS6 (который вы просили)? – Craig

+0

@Craig: извините, это ошибка опечатки с моей стороны при пометке. – nikesh

+0

Да, я понял, что iOS6 был немного более вероятным. В этом случае вы должны быть осторожны с использованием данных Google на картах, отличных от Google. Это против их TOS, и, хотя я не знаю, как и как они их применяют, вероятно, лучше избегать их обманывать. – Craig

ответ

2

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

Я сделал образец для вы, который охватывает все версии iOS, новые карты Google и iOM 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]; 
     } 
    } 
+1

Thxs много ... @ sree charan это сработало для меня с небольшим изменением. THXs !! – nikesh

1

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

+0

Если niks2000 действительно означает iOS6, то использование маршрутов Google на картах Apple не является (юридическим) вариантом. – Craig

+0

Я работаю только с картой Apple, а не с google .if у вас есть какие-то ссылки для этого, тогда было бы очень полезно..thxs для помощи anyhow.cheers !! – nikesh

Смежные вопросы