2013-05-11 8 views
12

Ich entwickle eine iOS App mit Google Maps iOS SDK mit Storyboard. auf meinem Haupt-View-Controller in „viewDidLoad“ Ich habe einen GMSMapView umgesetzt und zeigt es durchGoogle Maps iOS SDK - Hinzufügen von UIView/UIButton über eine GMSMapView

self.view = mapView_; 

und alles geht in Ordnung. Jetzt möchte ich eine UIView- oder UIB-Schaltfläche über die Map hinzufügen, z. B. den myLocation-Schaltflächenstil. Gibt es eine Lösung, um es hinzuzufügen und über Storyboard zu verwenden? Ich habe Objekte auf der Karte nach Code überlagert, aber ich brauche wirklich Autlaylay, also würde es über Storyboard schön sein. Danke.

+0

Bitte überprüfen Sie meine Antwort dort: http://stackoverflow.com/a/29732806/2086889 – DevSherif

Antwort

1

Möchten Sie einen Standort-Button mit Ihrem eigenen benutzerdefinierten Bild haben? oder was? Haben Sie versucht mit: mapview_.settings.myLocationButton = YES; Können Sie etwas genauer mit was Sie wollen? Ich benutze auch GM SDK für iOS, also kann ich dir vielleicht helfen.

+2

Dies ist als Kommentar geeigneter. – techuser

+1

Ich möchte benutzerdefinierte Benutzeroberflächenobjekte wie eine Schaltfläche oder eine Suchleiste über der Karte hinzufügen. Zum Beispiel die Suchleiste und die Kontaktschaltfläche in der offiziellen Google App von Google Maps. – FabioM

0

Man könnte so etwas wie dies versucht:

[self.view insertSubview: mapView_ atIndex: 0]; 

Dies wird die Karte als ein Subview der Stammansicht (statt Ersetzen der Stammansicht) einfügen, Ihre andere Ansichten (dh Tasten usw.) an Ort und Stelle zu verlassen . Wenn Sie es bei Index 0 einfügen, wird es unterhalb der anderen Ansichten angezeigt.

14

Versuchen Sie, diese (dafür, dass Sie den mapView Rahmen unterschiedlich auf einen Wert eingestellt als CGRectZero (die für self.view = mapView funktioniert nur)):

mapView = [GMSMapView mapWithFrame:self.view.bounds camera:camera]; 
[self.view insertSubview:mapView atIndex:0]; 

Wie Saxon sagte, die Ansicht auf Index Einfügen 0 wird den Rest der Objekte in den Vordergrund stellen.

+0

Dies funktioniert ty und @FabioM überprüfen Sie die Antwort, weil sie korrekt ist – AndroidFreak

4

Eigentlich ist dies der einzige Weg, die für mich gearbeitet, nachdem alles da draußen

[self.view insertSubview:self.yourUIImageview aboveSubview:self.mapView] 

Viel Glück versuchen

0

Fügen Sie Ihre Karte als Subview

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:coordinate.latitude longitude:coordinate.longitudeoom:6]; 

mapView = [GMSMapView mapWithFrame:self.view.bounds camera:camera];[self.view insertSubview:mapView atIndex:0]; 

Jetzt können Sie ziehen und drop your was auch immer Ihre UIcontrol-Taste, Textfeld ist es über die Mapview sichtbar oder Sie können auch als Subview wie oben hinzufügen.