MKMapView路线更新问题

时间:2013-06-18 05:55:03

标签: iphone ios mkmapview mkoverlay

每当用户移动到一些新坐标时,我想在mkmapview中创建一条路线,例如,我在位置A,现在我正朝着位置B移动,那么路线也应该更新。

由于


我想我没有为我的问题提供足够的信息,现在,我已经开始从a点开始骑自行车了,现在我要点b然后c,d等,但是我还没达到b点,我在中途,我喜欢实现我的路线也更新,因为我移动到点b或c,我从didupdatetolocation委托方法获取更新的lat long值,将它们存储在一个数组然后绘制,因为如果我这样做,然后我每次从阵列绘制路径?或者是否有任何其他方法仅使用上一个路径刷新更新的路线?

2 个答案:

答案 0 :(得分:0)

通过使用此功能,您可以更新路线..

CLLocationManager *locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[locationManager startUpdatingLocation];

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {

    // update the route.
}

答案 1 :(得分:0)

以下代码用于地图上的绘制路径。

-(void) showRouteFrom: (Place*) f to:(Place*) t {

    if(routes) {
        [mapView removeAnnotations:[mapView annotations]];
        [routes release];
    }

    PlaceMark* from = [[[PlaceMark alloc] initWithPlace:f] autorelease];
    PlaceMark* to = [[[PlaceMark alloc] initWithPlace:t] autorelease];

    [mapView addAnnotation:from];
    [mapView addAnnotation:to];

    routes = [[self calculateRoutesFrom:from.coordinate to:to.coordinate] retain];

    [self updateRouteView];
    [self centerMap];
}

For more detail and sample code grab from here.

希望这有帮助很多..