0

このコードを使用して、mapView に多くのオーバーレイを作成しました。

MKCircle *circle = [MKCircle circleWithCenterCoordinate:userLocation.coordinate radius:1000];
[mapView addOverlay:circle];

methode を実行するときだけ、1 つずつ削除したいと思います。

-(void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region

私の問題は、ある地域から出てきたときに、何をオーバーレイしたかがわからないことです。どうすればそれらを削除できますか?

ありがとうございました。

4

1 に答える 1

0

サークルに対応する領域を監視する必要があります。

を作成しますCLRegion

- (id)initCircularRegionWithCenter:(CLLocationCoordinate2D)center radius:(CLLocationDistance)radius identifier:(NSString *)identifier

で監視CLLocationManager:

- (void)startMonitoringForRegion:(CLRegion *)region

イベントをリスナーに送信するため、イベントを受信したときにオーバーレイを追加/削除できます。

- (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region

- (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region

おそらく最も簡単な方法は、マップを適切に更新できるように、MKCircleオブジェクトと対応するオブジェクト間の関係を保存することです。CLRegion

于 2012-11-14T19:32:58.073 に答える