2013年12月4日水曜日

Google MapをObjective-Cで任意のViewに表示させる


画面いっぱいにGoogle Mapを表示させるのではなく、特定のViewに表示させたい場合。


Storyboardで UIView を作る。
 -> IBOutlet としてコードに追加。
 -> 以下のコードを実装(ViewController.m)。

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:38
                                                        longitude:135
                                                             zoom:4.5];
self.mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
_viewGoogleMap = self.mapView;

_viewGoogleMap は ViewController.h に IBOutlet として追加したもの。

このコードでは何も表示されない。


解決方法として、
Storyboardで UIView を作る。
 -> GMSMapView として IBOutlet で追加する。
 -> 以下のコードを実装(ViewController.m)。


GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:38
                                                        longitude:135
                                                             zoom:4.5];
[_viewGoogleMap setCamera:camera];



これでちゃんと表示される。