1

我使用 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

现在如果我改变坐标,已经存在的路线也是可见的。如何删除现有路线并添加新路线?提前致谢。

4

1 回答 1

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]];
于 2011-06-03T20:35:17.717 回答