Откройте Apple Maps и немедленно начните маршрут от текущего местоположения до дома в iOS 6.0

Я хочу создать ссылку в своем приложении, которая по существу будет помечена как «Возьми меня домой». При нажатии я хочу, чтобы он открывал Apple Maps, прокладывал маршрут от текущего местоположения до дома и начинал пошаговую навигацию.

Я нашел эту схему, но она не делает всего, на что я надеялся:

http://maps.apple.com/maps?saddr=%f,%f&daddr=%f,%f

person Kirk Ouimet    schedule 30.09.2012    source источник
comment
Просто чтобы прояснить, в чем ваша проблема, вы не получаете Карты, чтобы начать пошаговую навигацию, просто открыв этот URL?   -  person Nate    schedule 30.09.2012
comment
@Нейт прав. Я могу показать маршрут, но пользователю все равно нужно нажать «Старт».   -  person Kirk Ouimet    schedule 30.09.2012


Ответы (2)


Вот рабочий код для открытия Карт с маршрутами (включая возможность показывать карты Google для 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]];
}
}
person nerowolfe    schedule 27.05.2013
comment
Привет, все работает нормально, но маркер не добавлен на карту. Я хочу показать маршруты, например cdn.macrumors.com/article-new/2015/10/ - person vijay; 10.05.2016

Используйте это. У меня все работает нормально ::

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]];
person vijay    schedule 10.05.2016