How to open a apple maps application with directions from my ios application

前端 未结 2 994

My aim is to open a map application from ios application with directions, I am able to open maps application but it is not showing directions, i have written the code as follows

相关标签:
2条回答
  • 2021-02-09 14:01

    If you mean taking the user to the maps application based on two points, then you can do it like this:

    Create an NSURL that looks like this:

    NSURL *URL = [NSURL URLWithString:@"http://maps.google.com/maps?saddr=%f,%f&daddr=%f,%f"];
    

    You plug in your starting address and destination (in lat. and long.) appropriately. Tell your application to open the URL

    [[UIApplication sharedApplication] openURL:URL];
    

    It should take you to the maps application automatically!

    0 讨论(0)
  • 2021-02-09 14:21
    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:MKLaunchOptionsDirectionsModeTransit}];
    
        }
    
    } 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]];
    }
    
    0 讨论(0)
提交回复
热议问题