4

iOS6 の Google マップ ビュー内に場所を読み込もうとしています。マップのフレームを設定するには? 現在フルスクリーンです

 -(void)loadView {

   GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:10.00989
                                                        longitude:76.316142
                                                             zoom:15];
   mapView_ = [GMSMapView mapWithFrame:CGRectZero camera:camera];
   self.view = mapView_;

   }

現在のビュー内に新しい(小さな)ビューを作成し、その中にマップを追加しようとしましたが、その時点でページが読み込まれず、真っ黒な画面が表示されます

 -(void)loadView {

  GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:10.00989
                                                        longitude:76.316142
                                                             zoom:15];
   mapView_ = [GMSMapView mapWithFrame:CGRectZero camera:camera];

   [self.view Addsubview:newView];
   self.newView = mapView_;

  // I also tried like this - [self.newView Addsubview:mapView_;

   }
4

5 に答える 5

5

あなたは試すことができます...私のために働いているもの:)

//header file
...
@property (nonatomic, weak) IBOutlet GMSMapView *mapView;
@property (weak, nonatomic) IBOutlet UIView *subview; //viewForMap
...

実装ファイル

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:10.8683
                                                            longitude:76.2086 zoom:6
                                                              bearing:0
                                                         viewingAngle:0
                                                                ];
    self.mapView = [GMSMapView mapWithFrame:_subview.bounds camera:camera];
  [_subview addSubview:_mapView];
于 2013-03-28T20:32:25.820 に答える
1

ここでの問題がマップ ビューの追加にあるのか、上流に何かを追加することなのかはわかりません。

-viewDidLoad にブレークポイントを設定して、確実に呼び出されるようにしましたか?

newView の境界をチェックして、期待どおりであることを確認してください。newView は表示されますか? self.view のサブビューですか?

ビューが期待どおりの場所にあることを確認するときに使用できるトリックの 1 つは、背景色を赤などのわかりやすい色に設定することです。そうすれば、それが期待どおりかどうかを画面上ではっきりと確認できます。これを行っても赤いボックスが表示されない場合、問題はマップにあるのではなく、表示されていないコードの上流にあるということです。

幸運を。

于 2013-03-28T15:44:50.450 に答える
1

必要なフレーム寸法で CGRect を作成し、メソッドで MapView フレームを設定してからmapWithFrame:、mapview をメイン サブビューとして追加します。以下は、すべてを説明するコードです。 CGRect fr= CGRectMake(0, 44, 768, 960); mapView_ = [GMSMapView mapWithFrame:fr camera:camera]; mapView_.myLocationEnabled = YES; [self.view addSubview:mapView_];

于 2013-03-29T06:32:04.867 に答える
0

loadViewxib を使用している場合は呼び出されないと思います。すべてのビューをプログラムで作成しているため、xib で Google Maps SDK for iOS を使用しようとはしていません。

マップ ビューを に追加できますviewDidLoadか? たとえば、次のようになります。

- (void)viewDidLoad 
{
    [super viewDidLoad];

    GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:10.00989
                                                    longitude:76.316142
                                                         zoom:15];
    mapView_ = [GMSMapView 
        mapWithFrame: CGRectMake(
            0, 0, 
            self.newView.frame.size.width, self.newView.frame.size.height)               
        camera: camera];

   [self.newView addSubview: mapView_];
}
于 2013-03-28T06:51:38.460 に答える
0

あなたはこのようにする必要があります

 -(void)loadView {

    GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:10.00989
                                                        longitude:76.316142
                                                             zoom:15];

    mapView_ = [GMSMapView mapWithFrame:self.newView.bounds camera:camera];

    [self.view addSubview:newView];

    [self.newView addSubview:mapView_];
}
于 2013-11-13T11:31:49.463 に答える