谷歌地图没有出现iOS sdk?

时间:2014-04-07 11:25:36

标签: ios7 google-maps-sdk-ios

我在我的应用中使用Google Map iOS SDK,但我遇到了这个问题:

当我像以下代码一样使用Google的iOS示例时,它可以正常工作,但它会以全屏模式加载,因为它会占用view中的主ViewController

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.868
                                                        longitude:151.2086
                                                             zoom:6];
GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];

GMSMarker *marker = [[GMSMarker alloc] init];

marker.position = camera.target;
marker.snippet = @"Hello World";
marker.map = mapView;
self.view = mapView;

但我需要它在subView中,你知道因为工具栏或顶栏等等。

我将subView添加到myViewController并创建IBOUtle然后我将mapView链接到它:

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.868
                                                        longitude:151.2086
                                                             zoom:6];
GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];

GMSMarker *marker = [[GMSMarker alloc] init];

marker.position = camera.target;
marker.snippet = @"Hello World";
marker.map = mapView;
mySubView = mapView;

但是视图将是白色/空的没有加载地图/或添加为subView,所以我尝试了以下操作,将子视图类型从UIView更改为GMSMapView,这样就可以显示和加载地图

我不能像GMSMarker那样使用此地图执行任何操作的奇怪问题,或GMSCameraPosition未显示您的正确位置/无效。

1 个答案:

答案 0 :(得分:4)

如果您的商店是UIView 并且您在代码中制作地图,则必须添加它。

的OBJ-C:

mapView.frame = mySubview.bounds;
[mySubview addSubview:mapView];

夫特:

mapView.frame = mySubview.bounds;
mySubview.addSubview(mapView)

如果您的OUTLET是mapview ,那么使用它并且不要制作新的

mapView = (GMSMapView*)mySubView;