2013-04-17 17 views
13

Ich baue eine iOS App mit Storyboards und Google Maps. iOS6 MitMarker aus Google Maps entfernen iOS

Meiner Anwendung verfügt die geteilte Ansicht Navigation als

in der Facebook-App gesehen

Auf meiner linken Ansicht ich in einer Liste ein Element am auswählt, die lat/langen Schnur hat und es auf meiner Karte auf dem folgende zeige

Methode

- (void)viewWillAppear:(BOOL)animated

ich möchte alle Marker in diesem Verfahren entfernen, bevor ich ein anderes hinzufügen (so nur eine Markierung auf der Karte ist), ist es eine Möglichkeit, dies zu tun? Unten ist mein Code, um einen Marker auf die mapView

Vielen Dank im Voraus hinzuzufügen - 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]; 
} 

Antwort

7

Bitte auf der Google Map-Dokumentation: Google Maps SDK for iOS

entnehmen Sie bitte dem Abschnitt Titel „Entfernen eines Markers ". Überprüfen Sie immer die Dokumentation für solche Methoden.

+0

Ich verwende eine GMSMapView - Google Maps Klasse. Es sei denn, Sie können diese Methoden auf Google Maps anwenden. – jchri853

+0

meine Entschuldigung, siehe Bearbeiten. – iOSGuru248

+0

haha ​​NP, verpasste das in der Dokumentation, danke, dass Sie sich die Zeit genommen haben, mir zu helfen! – jchri853

27

Um alle Markierungen einfach zu entferne:

[self.mapView clear]; 
+0

Wie entfernst du einen bestimmten Marker? –

+0

das entfernen marker und alle artikel der karte, bessere lösung? –

+0

Beachten Sie, dass dies alles auf der Karte löscht. Wenn Sie also Marker und Polylinien haben, werden diese ebenfalls gelöscht. Wenn Sie beide möchten, werden Sie alle Marker in ein Array setzen, durch das Array durchlaufen und jedes löschen. Dadurch bleiben Ihre Polylinien erhalten. –

26

Um alle Markierungen zu entfernen

mapView.clear() 

myMarker.map = nil 
0

mapView.clear() einem spezifischen Marker

entfernen // Es w Deaktivieren Sie alle Markierungen von GMSMapView.