2013-04-17 7 views
13

Sto costruendo un'app iOS utilizzando gli storyboard e Google Maps. Utilizzando iOS6Rimuovi i marker da google maps iOS

La mia applicazione dispone la navigazione vista divisa come si vede nella app facebook

Il mio punto di vista sinistra sto selezionando un elemento in una lista che ha latitudine/longitudine corde e mostrarlo sulla mia mappa sul seguente metodo

- (void)viewWillAppear:(BOOL)animated

Vorrei rimuovere tutti i marcatori in questo metodo, prima di aggiungerne un altro (in modo che solo un marcatore è sulla mappa), c'è un modo per fare questo? Qui di seguito è il mio codice per aggiungere un marcatore per il MapView

Grazie in anticipo - Jon

- (void)loadView 
{ 
    GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:poi.lat 
                  longitude:poi.lon 
                   zoom:15]; 
    mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera]; 

    mapView.myLocationEnabled = YES; 
    self.view = mapView; 
    mapView.mapType = kGMSTypeHybrid; 

    //Allows you to tap a marker and have camera pan to it 
    mapView.delegate = self; 
} 

-(void)viewWillAppear:(BOOL)animated 
{ 
    GMSMarkerOptions *options = [[GMSMarkerOptions alloc] init]; 
    options.position = CLLocationCoordinate2DMake(poi.lat, poi.lon); 
    options.title = poi.title; 
    options.snippet = poi.description; 
    options.icon = [UIImage imageNamed:@"flag-red.png"]; 
    [mapView addMarkerWithOptions:options]; 

    [mapView animateToLocation:options.position]; 
    [mapView animateToBearing:0]; 
    [mapView animateToViewingAngle:0]; 
} 

risposta

7

Si prega di fare riferimento alla documentazione Google Map: Google Maps SDK for iOS

Si prega di fare riferimento al titolo della sezione "Rimozione di un marcatore ". Controllare sempre la documentazione per tali metodi.

+0

Sto usando un GMSMapView - Classi di Google Maps. A meno che tu non possa applicare questi metodi a google maps? – jchri853

+0

mi scuso, per favore vedi modifica. – iOSGuru248

+0

haha ​​NP, mancava quello nella documentazione, grazie per aver dedicato del tempo per aiutarmi! – jchri853

27

Per rimuovere tutti i marcatori semplice fai:

[self.mapView clear]; 
+0

Come si rimuove un indicatore specifico? –

+0

questo rimuove i marcatori e tutti gli elementi della mappa, soluzione migliore? –

+0

Nota che questo cancella tutto sulla mappa. Quindi se hai marcatori e forse polilinee, li cancellerà anche. Se ti piacciono entrambi vorrai mettere tutti i marcatori in un array, scorrere l'array e cancellarne uno. Questo manterrà le tue polilinee. –

26

Per rimuovere tutti i marcatori

mapView.clear() 

Per rimuovere un marcatore specifico

myMarker.map = nil 
0

mapView.clear()

// E 'w Cancella tutti i marker da GMSMapView.