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 に答える