#iphone #mkmapview #polyline
#iPhone #mkmapview #ломаная линия
Вопрос:
я использую mkmapview для отображения маршрута между текущим местоположением и координатами. я использую полилинию для отображения маршрута. я добавил аннотации к началу и месту назначения. я использую следующий API для получения промежуточных координат.
теперь, если я изменю координаты, уже существующий маршрут также будет виден. как мне удалить существующий маршрут и добавить новый маршрут? заранее спасибо.
Ответ №1:
Если я чего-то не упустил в вашем вопросе, если у вас уже есть приложение, вычисляющее и отображающее 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]];