在Xcode中的Google MapKit上绘制用户位置和指定位置之间的路线

时间:2011-03-23 15:16:05

标签: iphone objective-c xcode google-maps mapkit

嘿,伙计, 在我的iPhone项目中,我使用MapKit构建了一个Google Map,并在地图上指定了我公司的位置。现在我想添加一个小功能,我的谷歌地图将绘制用户位置与公司所在位置之间的路线。到目前为止,这是我用来指定公司位置的代码

#import "GoogleMap.h"
#import "MyAnnotation.h"

@implementation GoogleMap

    - (void)viewDidLoad {
    [super viewDidLoad];

    variable1 = [[NSArray alloc] initWithContentsOfFile:[[NSBundle mainBundle] 
                                                         pathForResource:@"NewYorkAreas" 
                                                         ofType:@"plist"]];

    double minLat = [[variable1 valueForKeyPath:@"@min.latitude"] doubleValue];
    double maxLat = [[variable1 valueForKeyPath:@"@max.latitude"] doubleValue];
    double minLon = [[variable1 valueForKeyPath:@"@min.longitude"] doubleValue];
    double maxLon = [[variable1 valueForKeyPath:@"@max.longitude"] doubleValue];

    MKCoordinateRegion region;
    region.center.latitude = (maxLat + minLat) / 2.0;
    region.center.longitude = (maxLon + minLon) / 2.0;
    region.span.latitudeDelta = (maxLat - minLat) * 1.05;
    region.span.longitudeDelta = (maxLon - minLon) * 1.05;
    map.region = region;

    for (NSDictionary *newYorkAreasDict in variable1){
        MyAnnotation *annotation = [[MyAnnotation alloc] initWithDictionary:newYorkAreasDict];
        [map addAnnotation:annotation];
        [annotation release];
    }
}

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation{

    if (map.userLocation == annotation){
        return nil;
    }

    NSString *identifier = @"MY_IDENTIFIER";

    MKAnnotationView *annotationView = [map dequeueReusableAnnotationViewWithIdentifier:identifier];
    if (annotationView == nil){
        annotationView = [[[MKAnnotationView alloc] initWithAnnotation:annotation 
                                                       reuseIdentifier:identifier] 
                          autorelease];
        annotationView.image = [UIImage imageNamed:@"logo.png"];
        annotationView.canShowCallout = YES;

        annotationView.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
    }
    return annotationView;
}

所以现在,我想实现用户的位置并绘制用户位置和我公司之间的路线,但我不知道如何编码,所以我希望有人可以帮助我,谢谢!

1 个答案:

答案 0 :(得分:0)

一种方法是你需要获得路线的GPS坐标,然后就可以使用MKOverlayView。

检查this以获取更多信息