mkmapview обновить mapview

#iphone #mkmapview #polyline

#iPhone #mkmapview #ломаная линия

Вопрос:

я использую 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:

Если я чего-то не упустил в вашем вопросе, если у вас уже есть приложение, вычисляющее и отображающее 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]];