按下按钮删除MKMapView覆盖

时间:2011-11-03 18:55:52

标签: iphone objective-c mkmapview

我有一个MKMapView,其上显示MKOverlay,显示用户的位置记录。按下按钮时,如何丢弃此叠加层并将其从视图中删除?

我已经尝试了[map removeOverlay:overlay];,但这不起作用 - 它仍然显示。

2 个答案:

答案 0 :(得分:10)

这将有效

NSArray *pointsArray = [mapView overlays];

[mapView removeOverlays:pointsArray];

答案 1 :(得分:2)

只是补充一点,对于我的iPad应用程序,我需要在上面显示的解决方案中添加额外的一行:

  NSArray *pointsArray = [self.mapView overlays];
  [self.mapView removeOverlays:pointsArray];

  self.mapOverlayView = nil;

没有将mapOverlayView设置为nil,“removeOverlays”调用似乎没有做太多(?)