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];
}
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.
Pour supprimer tous les marqueurs
mapView.clear()
Pour supprimer un marqueur spécifique
myMarker.map = nil
Pour supprimer tous les marqueurs simples, procédez comme suit:
[self.mapView clear];
mapView.clear ()
// Cela effacera tous les marqueurs de GMSMapView.
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.
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.