Abra o Apple Maps e Iniciar o Percurso a partir da Localização Actual para Casa Imediatamente no iOS 6.0
Pergunta
Eu estou querendo criar um link no meu aplicativo que essencialmente vai ser rotulado de "Take Me Home".Quando pressionado, eu quero que ele abra o Apple Maps, rota a partir do local atual para casa e iniciar o turn by turn de navegação.
Eu encontrei este esquema, mas ele não faz tudo o que eu estava esperando:
http://maps.apple.com/maps?saddr=%f,%f&daddr=%f,%f
Solução
Aqui está um código de trabalho, para a abertura de Mapas com rotas (incluindo a opção para mostrar o Google maps para o iOS5)
-(IBAction)showMapApp:(id)sender
{
CLLocationCoordinate2D coordinate = CLLocationCoordinate2DMake(self.location.latitude,self.location.longitude);
//create MKMapItem out of coordinates
MKPlacemark* placeMark = [[MKPlacemark alloc] initWithCoordinate:coordinate addressDictionary:nil];
MKMapItem* destination = [[MKMapItem alloc] initWithPlacemark:placeMark];
if([destination respondsToSelector:@selector(openInMapsWithLaunchOptions:)])
{
//using iOS6 native maps app
if(_mode == 1)
{
[destination openInMapsWithLaunchOptions:@{MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeWalking}];
}
if(_mode == 2)
{
[destination openInMapsWithLaunchOptions:@{MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving}];
}
if(_mode == 3)
{
[destination openInMapsWithLaunchOptions:@{MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving}];
}
} else{
//using iOS 5 which has the Google Maps application
NSString* url = [NSString stringWithFormat: @"http://maps.google.com/maps?saddr=Current+Location&daddr=%f,%f", self.location.latitude, self.location.longitude];
[[UIApplication sharedApplication] openURL: [NSURL URLWithString: url]];
}
}
Outras dicas
Use este Para mim o seu trabalho bem::
NSString* url = [NSString stringWithFormat: @"http://maps.apple.com/maps?saddr=44.521358,11.374080&daddr=44.518640,11.362665"];
[[UIApplication sharedApplication] openURL: [NSURL URLWithString: url]];
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow