SORU
12 HAZİRAN 2010, CUMARTESİ


Nasıl bir MKMapView tüm Açıklamaları silmek için

Objective-c görüntülenen tüm açıklamalar yineleme olmadan bir harita üzerinde tüm açıklamaları silmek için basit bir yolu var mı?

CEVAP
12 HAZİRAN 2010, CUMARTESİ


Evet, burada nasıl

[mapView removeAnnotations:mapView.annotations]

Ancak önceki kod satırındaki tüm ek açıklamaları göster "" İĞNE kaldıracak harita, kullanıcı konumu pin de dahil olmak üzere "Mavi Pin". Tüm harita kaldırmak için ek açıklamalar ve kullanım yeri harita üzerinde pin tutun, iki vardır olası yolları yapmak için

Örnek 1, kullanım yeri vb korumak, tüm raptiyeleri Kaldır, Ekle kullanıcı geri pin konum, ama bu yaklaşım ile bir sorun var, kullanıcı konumu pin çıkarma nedeniyle harita üzerinde yanıp neden olacaktır pın kodunu daha sonra tekrar ekleme

- (void)removeAllPinsButUserLocation1 
{
    id userLocation = [mapView userLocation];
    [mapView removeAnnotations:[mapView annotations]];

    if ( userLocation != nil ) {
        [mapView addAnnotation:userLocation]; // will cause user location pin to blink
    }
}

Örnek 2, ben şahsen konumunu kullanıcı kaldırma önlemek için tercih pin ilk etapta,

- (void)removeAllPinsButUserLocation2
{
    id userLocation = [mapView userLocation];
    NSMutableArray *pins = [[NSMutableArray alloc] initWithArray:[mapView annotations]];
    if ( userLocation != nil ) {
        [pins removeObject:userLocation]; // avoid removing user location off the map
    }

    [mapView removeAnnotations:pins];
    [pins release];
    pins = nil;
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • mahalodotcom

    mahalodotcom

    8 HAZİRAN 2007
  • NicoleGrippo

    NicoleGrippo

    14 Kasım 2006
  • TomKNJ

    TomKNJ

    26 ŞUBAT 2007