2011-11-03 54 views
4

我有一個MKMapView與上面MKOverlay顯示用戶的位置歷史記錄。在一個按鈕上按下,我怎樣才能丟棄這個覆蓋層並從視圖中刪除它?移除MKMapView覆蓋按鈕推

我試過[map removeOverlay:overlay];但這並不起作用 - 它仍然顯示。

+0

'overlay'變量是如何設置或獲得的?如果你在刪除之前和之後登錄'map.overlays.count',它會顯示什麼? – Anna

回答

10

這將工作

NSArray *pointsArray = [mapView overlays]; 

[mapView removeOverlays:pointsArray]; 
+0

工作!謝謝! – Baub

+1

這不會在iOS 7 –

+0

對於SWIFT 4 let pointsArray:Array = self.mapView.overlays self.mapView.removeOverlays(pointsArray) –

2

我想補充的是,我的iPad應用,我需要添加上面顯示一個額外的行到了解決方案:

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

    self.mapOverlayView = nil; 

不設置mapOverlayView爲零, 「removeOverlays」調用似乎沒有太多(?)

+0

但我沒有我的代碼中的mapOverLayView屬性。如何刪除以前的躺在? –