2013-06-18 3 views
0

Я хотел бы создать маршрут в mkmapview всякий раз, когда пользователь переместится в некоторые новые координаты, например, я нахожусь в позиции A, теперь я перемещаюсь в позицию B, тогда маршрут также должен быть обновлен.Проблема с обновлением маршрута MKMapView

Благодаря


Я думаю, что я не дает достаточной информации для моего вопроса, вот сейчас, я начал делать на велосипеде из точки а и теперь я иду в точку Б, то с, d и т.д., Но я еще не дошел до точки b, я нахожусь в середине пути, мне нравится добиваться того, что мой маршрут также обновляется, когда я перехожу к пункту b или c. Получаю ли я обновленное значение lat long из метода делегата didupdatetolocation, храните их в массиве, а затем нарисовать, потому что, если я это сделаю, то я каждый раз рисую путь из массива? или есть ли другой подход, который обновляет только обновленный маршрут с предыдущим путем?

ответ

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. 
} 
+0

Это даст мне широчайшие и длинное значение всякий раз, когда я изменить место я прав? но тогда хороший способ перерисовать путь со всеми точками массива (Lat и long) снова? или есть ли способ обновить маршрут только новыми значениями? – york

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.

надеюсь, что это поможет много ..

Смежные вопросы