2014-11-06 1 views
5

Ich habe einige Probleme bei der Anzeige von Google Maps in Xcode 6.1Google Maps SDK wird in UIView nicht ordnungsgemäß angezeigt?

Ich habe es geschafft, die Karte in einem Abschnitt meiner UIView anzuzeigen, aber es zeigt die Weltkarte statt an einer bestimmten Koordinate. Hier

ist die Frage:

enter image description here

.h:

@interface MapViewController : UIViewController 

@property (strong, nonatomic) IBOutlet UIView *googleMapView; 

- (IBAction)mapToMain:(UIButton *)sender; 

@end 

.m:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view. 

    GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude: 32.915134 
    longitude: -117.140269 zoom: 17]; 

    GMSMapView *mapView = [GMSMapView mapWithFrame:self.googleMapView.bounds 
    camera:camera]; 
    mapView.myLocationEnabled = YES; 

    self.googleMapView = mapView; 

    GMSMarker *marker = [ [GMSMarker alloc] init]; 
    marker.position = CLLocationCoordinate2DMake(32.915134, -117.140269); 
    marker.title = @"Tet Festival 2015"; 
    marker.snippet = @"VAYA Tet"; 
    marker.map = mapView; 
} 

Ich sah einige Vorschläge hier, aber es hat nicht funktioniert :

Cannot put a google maps GMSMapView in a subview of main main view?

Using the Google Maps SDK in views other than the main view

Irgendwelche Vorschläge?

Antwort

3

dachte es schließlich heraus ...

entfernt:

self.googleMapView = mapView; 

ersetzt:

[self.googleMapView addSubview:mapView]; 
0

Ich bin nicht sicher, was mit dem obigen Code falsch ist. Es sieht gut für mich aus. Aber um die Kamera an einen bestimmten Ort zu bewegen. Sie können die Kamera auch dort animieren.

var newLocation = CLLocationCoordinate2DMake(latitude, longitude) 
googleMapView.animateToLocation(newLocation) 

Ich hoffe, dass es für Sie funktioniert.

+0

ich im Grunde bin versucht, die Karte zeigen die Position der Markierung zu machen, aber es ist die Weltkarte Wörter. – Pangu

+0

Kann jemand anderes helfen? Ich suchte SO und kann immer noch nicht zur Arbeit :( – Pangu

12

Sie haben eine UIView zu Storyboard hinzuzufügen ... aber nach, dass Sie um aus dieser einfachen UIView eine GMSMapView zu machen! Wählen Sie die Ansicht, die Sie gerade hinzugefügt haben, und öffnen Sie die Identität Inspektor durch die dritte Register von links in der Utilities-Symbolleiste auswählen, ändern Sie den Namen der Klasse Ansicht von UIView GMSMapView, wie im Screenshot unten gezeigt:

enter image description here

Your Outlet wird nicht wie dieser

@property (strong, nonatomic) IBOutlet UIView *googleMapView; 

es so

@property (strong, nonatomic) IBOutlet GMSMapView *mapView; 

Ihre ViewDidLoad kann sein wird wie folgt aus:

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude: 32.915134 
                  longitude: -117.140269 zoom: 17]; 

    [self.mapView animateToCameraPosition:camera]; 

    GMSMarker *marker = [ [GMSMarker alloc] init]; 
    marker.position = CLLocationCoordinate2DMake(32.915134, -117.140269); 
    marker.title = @"Tet Festival 2015"; 
    marker.snippet = @"VAYA Tet"; 
    marker.map = self.mapView; 

UPDATE

Here you have an example project (fügen Sie Ihren Key)

+0

Danke! Das gleiche Problem existiert und Swift.MUSS die benutzerdefinierte Klasse von UIView ändern – Roman

+0

funktioniert wie ein Charme. – bittu