我正在Xcode 4.3.3,iOS 5上开发并使用Mapkit库。
该应用程序应在Google地图上显示当前位置,获取目的地地址,最后绘制出这两点之间的最短路径。

我使用本教程来实现该应用程序,并且现在有了当前位置:
http://blog.objectgraph.com/index.php/2009/04/02/iphone-sdk-30-playing-with-map-kit/

我在寻找路由,但没有找到任何资源。
请指导我如何绘制当前位置和目的地之间的最短路径。

谢谢!

最佳答案

您可以尝试此操作仅适用于ios 6。

 Class itemClass = [MKMapItem class];
        if (itemClass && [itemClass respondsToSelector:@selector(openMapsWithItems:launchOptions:)]) {

            CLGeocoder *geocoder = [[CLGeocoder alloc] init];
            CLLocation *newLocation = [[CLLocation alloc]initWithLatitude:getLatitude
                                                                longitude:getLongitude];

            [geocoder reverseGeocodeLocation:newLocation
                           completionHandler:^(NSArray *placemarks, NSError *error) {

                               MKPlacemark *placeMark = [[MKPlacemark alloc] initWithPlacemark:[placemarks objectAtIndex:0]];

                               MKMapItem *mapItem = [[MKMapItem alloc]initWithPlacemark:placeMark];

                               MKMapItem *mapItem2 = [MKMapItem mapItemForCurrentLocation];

                               NSArray *mapItems = @[mapItem, mapItem2];

                               NSDictionary *options = @{
                           MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving,
                           MKLaunchOptionsMapTypeKey:
                               [NSNumber numberWithInteger:MKMapTypeStandard],
                           MKLaunchOptionsShowsTrafficKey:@YES
                               };

                               [MKMapItem openMapsWithItems:mapItems launchOptions:options];

                           }         ];
        }
        else
        {
            UIAlertView *errorAlert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Failed to Get Your Location"delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
            [errorAlert show];

        }
    }

关于objective-c - 使用Mapkit和Google Map的iPhone中的GPS路由(最短路径),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11341499/

10-12 05:12