Удаление мковерлей с карты - PullRequest
       2

Удаление мковерлей с карты

1 голос
/ 22 сентября 2010

я добавил наложение (MKOverlay) с пользовательскими чертежами в MapView.Наложение показывает хорошо, и я могу видеть рисунки.Но когда я удаляю этот оверлей, он не удаляется полностью, часть рисунка все еще там.Какова причина?Я использую removeOverlay: для удаления этого наложения.Любая помощь приветствуется ..

Ответы [ 3 ]

4 голосов
/ 14 февраля 2011

Не знаю, если вы, ребята, до сих пор интересуетесь этим, но мне подходит следующее:

// assuming you have mapView and overlay defined somewhere
MKOverlayView *overlayView = [mapView viewForOverlay:overlay];
overlayView.hidden = YES;
[overlayView setNeedsDisplay];
[mapView removeOverlay:overlay];

Надеюсь, это поможет!

2 голосов
/ 01 октября 2013

вы можете удалить все наложения на вашей карте. работает очень хорошо

добавьте эту функцию в свой viewController:

-(void)deleteMapOverlays
{

    for (id<MKOverlay> overlay in mapView.overlays)
    {
        [self.mapView removeOverlay:overlay];
    }

}

используя:

 [self deleteMapOverlays];
0 голосов
/ 02 ноября 2018

Я продолжал получать несколько оверлеев поверх моего MKCircle () после обновления местоположения. Вот ответ Swift 4 ответа @ErhanDemirci с моим MKCircle, добавляемым к нему впоследствии. Шаг 2. Это вариант ответа Swift 4.

// 1. add the MKCircle
let circle = MKCircle(center: location.coordinate, radius: whateverRadius)

// 2. loop through the map view's overlays then remove it. The overlay is the MKCircle
for overlay in mapView.overlays {
    mapView.remove(overlay)
}

// 3. add your the MKCircle to the mapView
mapView.add(circle)
...