mkmapview刷新mapview

时间:2011-06-03 17:23:35

标签: iphone mkmapview polyline

使用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 个答案:

答案 0 :(得分:2)

除非我在您的问题中遗漏了某些内容,否则如果您已经让应用计算并显示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]];