mkmapview обновить mapview - PullRequest
       15

mkmapview обновить mapview

1 голос
/ 03 июня 2011

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

http://routes.cloudmade.com/8ee2a50541944fb9bcedded5165f09d9/api/0.3/51.22545,4.40730,[51.22,4.41,51.2,4.41],51.23,4.42/car.js

Теперь, если я изменю координаты, уже будет виден уже существующий маршрут.как удалить существующий маршрут и добавить новый маршрут?заранее спасибо.

1 Ответ

2 голосов
/ 04 июня 2011

Если я не пропустил что-то в вашем вопросе, если у вас уже есть приложение, вычисляющее и отображающее MKPolyline, все, что вам нужно сделать, это удалить старый и добавить новый.Ваш код будет выглядеть примерно так:

// generating new data, do this however you like
MKPolyline *routeLine = [self generateNewRoutLine];
MyPinAnnotation *startPin = [self generateNewStartPin];
MyPinAnnotation *endPin = [self generateNewEndPin];

// removing old overlays and adding new
[myMapView removeOverlays:myMapView.overlays]; // removes all overlays
[myMapView removeAnnotations:myMapView.annotations]; // removes all pins
[myMapView addOverlay:routeLine];
[myMapView addAnnotations:[NSArray arrayWithObjects:startPin, endPin, nil]];
...