除主视图其他视图使用谷歌地图SDK(Using the Google Maps SDK in vie

2019-07-20 11:49发布

我想使用谷歌地图SDK iOS版中,我在故事板创建并链接到通过一个IBOutlet视图控制器主视图的子视图(我把它叫做extraView,从UIView的子类)。 当我跟随在SDK入门指南中的步骤,将SDK工作得很好,但它使用的层次结构中的最上层视图(主视图),我不想要的。 我希望我的地图是在屏幕的一小部分,并使用屏幕的其余部分用于别的东西。 当我尝试分配mapView_对象(参阅入门指南)以self.extraView代替self.view,整个屏幕是黑的,我得到的控制台输出的错误:

“应用程序窗口,预计在应用程序启动的端部有一个根视图控制器”

有没有其他人想通了这一点? 我不能找到文档中任何东西,示例代码谷歌提供不使用故事板。

Answer 1:

这是如何做...

  • 添加一个UIView到视图控制器您在哪里工作
  • 设置它的类是GMSMapView的身份检查。

然后,它控制拖动到你的代码,你会为任何其他出路。

您可以懒洋洋地实例在其制定者...

- (void) setMapView:(GMSMapView *)mapView {
    if (!mapView) {
        mapView = [[GMSMapView alloc] initWithFrame:mapView.bounds];
    }
    _mapView = mapView;
}

要显示地图谷歌的样本代码变得...

  GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:1.285
                                                          longitude:103.848
                                                               zoom:12];
  self.mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];


Answer 2:

我解决我的问题只是删除,我从例子中接过的loadView代码。 只要添加一个视图sberley说的应该作品。

只是还有一点,在身份检查,你必须改变属性类,它至少是4.5的Xcode



文章来源: Using the Google Maps SDK in views other than the main view