Карта Google не отображается iOS SDK?

Я использую 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, поэтому я попробовал следующее: измените тип subView с UIView на GMSMapView, и это заставит карту появиться и загрузиться.

Странная проблема, что я ничего не могу сделать с этой картой, например, GMSMarker не отображается или GMSCameraPosition не показывает вашу правильную позицию/не работает.


person Omarj    schedule 07.04.2014    source источник


Ответы (1)


Если ваша торговая точка представляет собой UIView и вы создаете карту в коде, вы должны добавить ее.

Объект-C:

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

Быстрый:

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

если ваш OUTLET представляет собой представление карты, используйте его и не создавайте новый

mapView = (GMSMapView*)mySubView;
person Daij-Djan    schedule 07.04.2014
comment
спасибо: D, я часто замечаю, что забываю все о границах: D спасибо - person Omarj; 07.04.2014
comment
и да, mySubView это просто псевдоним, используйте его здесь: P - person Omarj; 07.04.2014