ios – 不能把一个google地图GMSMapView在主视图的子视图?

我正在努力解决这个问题!
我想在UIView中添加一个google maps GMSMapView,它只是我的ViewController的主要UIView的一部分。

它应该很简单…我创建了一个UIView的大小我想要的故事板,并把它放在主UIView。

剪切从接口文件:

@interface MapViewController : UIViewController <CLLocationManagerDelegate>

@property(nonatomic) IBOutlet GMSMapView *mapView;

与mapView链接到这个UIView里面的主要UIView。

我在实施中做什么:

@synthesize mapView = _mapView;

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

    GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.8683
                                                            longitude:151.2086
                                                                 zoom:10];
    _mapView = [GMSMapView mapWithFrame:_mapView.bounds camera:camera];
    _mapView.myLocationEnabled = YES;

}

这应该工作,不应该吗?
我得到的是,我的内部UIView是空的。

如果我按照google的开始指南Google Map Integration Document来实例化地图
它工作,但它分配映射到MAIN UIView,这是一个不同的东西。

我试图甚至将我的mapView的类从UIView更改为GMSMapView。
地图显示在内部视图,但它是以奇怪的方式进行初始化
1 – 系统抛出一个错误说

“Failed to make complete frame buffer”

并减慢了很多视图的加载(它需要2-3秒在模拟器上)
2 – 在viewDidLoad方法中的任何相机更改中地图不响应。

有什么建议么?

我在StackOverflow上阅读了一些帖子,但找不到有效的解决方法:

基于其他答案,这里有三种方法实际工作。

>在XIB上放置视图,并在XIB构建器中将其类更改为GMSMapView。参见* map1。要么…
>编码所有。将地图添加为主视图的子视图。参见* map2。要么…
>将地图添加为已在XIB中具有插座的另一个子视图的子视图。 * map3下面。

。H

@interface GPViewController : UIViewController
@property (strong, nonatomic) IBOutlet GMSMapView *map1;
@property (strong, nonatomic) IBOutlet UIView *plainViewOnXIBHoldsMap3;
@end

m

- (void)viewDidLoad{
    [super viewDidLoad];
    GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.0
                                                        longitude:151.20
                                                             zoom:6];

    /* Option 1. view on XIB is class GSMMapView */
    self.map1.camera = camera;

    /* Option 2. add a map as a subview */
    GMSMapView *map2 = [GMSMapView mapWithFrame:CGRectMake(0, 0, 100, 100) camera:camera];
    [self.view addSubview:map2];

    /* Option 3. add a map to a subview already on the XIB */
    GMSMapView *map3 = [GMSMapView mapWithFrame:self.plainViewOnXIBHoldsMap3.bounds camera:camera];
    [self.plainViewOnXIBHoldsMap addSubview:map3];
}
http://stackoverflow.com/questions/15417811/cannot-put-a-google-maps-gmsmapview-in-a-subview-of-main-main-view

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:ios – 不能把一个google地图GMSMapView在主视图的子视图?