web-dev-qa-db-fra.com

Supprimer les marqueurs de Google Maps iOS

Je construis une application iOS à l'aide de storyboards et de Google Maps. Utiliser iOS6

Mon application propose la navigation en vue fractionnée, comme dans l'application facebook.

Dans ma vue de gauche, je sélectionne un élément dans une liste comportant des cordons lat/long et l’affiche sur ma carte selon la méthode suivante.

- (void)viewWillAppear:(BOOL)animated

J'aimerais supprimer tous les marqueurs de cette méthode avant d'en ajouter un autre (afin qu'il n'y en ait qu'un seul sur la carte). Y a-t-il un moyen de le faire? Ci-dessous mon code pour ajouter un marqueur à la mapView

Merci d'avance - 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];
}
17
jchri853

Veuillez vous reporter à la documentation de Google Map: SDK Google Maps pour iOS

Veuillez vous reporter au titre de la section "Supprimer un marqueur". Toujours vérifier la documentation pour de telles méthodes.

11
iOSGuru248

Pour supprimer tous les marqueurs 

mapView.clear()

Pour supprimer un marqueur spécifique 

myMarker.map = nil
37
Bassant Ashraf

Pour supprimer tous les marqueurs simples, procédez comme suit:

[self.mapView clear];
33
jturolla

mapView.clear ()

// Cela effacera tous les marqueurs de GMSMapView.

4
Hitesh Chauhan

mapView.clear () n'est pas une bonne idée. Parce que le SDK Places pour iOS applique une limite par défaut de 1 000 demandes par période de 24 heures (si votre application dépasse la limite, l'application va échouer. Vérifiez votre identité pour obtenir 150 000 demandes par période de 24 heures.). .whit mapView.clear () les demandes augmentent. le meilleur moyen est de supprimer chaque marqueur et polyligne. 

1

Juste simple 

Rapide

var mapView = GMSMapView() // Global Declaration

self.mapView.clear() // clear the markers

Commencez par effacer les icônes de la carte et définissez le marqueur après. 

Vous devez écrire sur la fonction de fixation du marqueur de la vue Carte avant d’utiliser des boucles.

0
M VIJAY