1

我的应用程序中有一个地图视图,我正在使用苹果地图,我在这里读到 Mapkit 可以提供方向详细信息,就像在 Mapview 上我使用当前位置和纬度/经度一样,我希望用户可以从中获取行车路线他当前的位置到他输入的指定纬度/经度,这样当我点击按钮方法或标注方法时,他可以在 nextview 上轻松获取行车方向路线......

-(void)getDirection

所以在下一个视图中它应该向我显示到那个地方的行车路线,请任何人帮助我解决这个问题我是一个初学者,我从来没有对 mapview 做过那么多,任何人都可以给我一些提示或代码对我很有帮助的片段。或者如果我可以做这样的事情,但我不知道如何用我的项目做到这一点。

在此处输入图像描述

4

2 回答 2

0

使用此代码前两个是目的地纬度经度其他是源代码此代码重定向您在苹果地图上并显示路线(如果可用)。

  NSString *urlString = [NSString stringWithFormat:@"http://maps.apple.com/?daddr=%f,%f,&saddr=%f,%f",_desLatitude,_desLongitude,_latitude,_longitude];
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];
于 2013-04-26T10:20:24.737 回答
0
   if (SYSTEM_VERSION_LESS_THAN(@"6.0")) {
       NSString* addr = [NSString stringWithFormat:@"http://maps.apple.com/maps?daddr=%1.6f,%1.6f&saddr=%1.6f,%1.6f",pin_lat,pin_long,mapView.userLocation.coordinate.latitude,mapView.userLocation.coordinate.longitude];

        NSURL* url = [[NSURL alloc] initWithString:[addr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
        [[UIApplication sharedApplication] openURL:url];
    }

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


    }   
}
else if ([buttonTitle isEqualToString:@"Google Maps"]) {
    NSLog(@"Other 2 pressed");
    //choose existing

    if (SYSTEM_VERSION_LESS_THAN(@"6.0")) {
        NSString* addr = [NSString stringWithFormat:@"http://maps.google.com/maps?daddr=%1.6f,%1.6f&saddr=%1.6f,%1.6f",pin_lat,pin_long,mapView.userLocation.coordinate.latitude,mapView.userLocation.coordinate.longitude];

        NSURL* url = [[NSURL alloc] initWithString:[addr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
        [[UIApplication sharedApplication] openURL:url];
    }

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


    }


} 

其中 pin_lat 和 pin_long 是包含 place 值的浮点值。

于 2013-04-27T04:55:36.347 回答