0

Google マップ ios SDK と数時間格闘してきましたが、解決できなかった問題があります。だからここに何が起こっているのですか:

インターフェイスビルダーにView Controllerがあり、.mおよび.hの実装があります。ビュー コントローラーにはビューがあり、そのビュー内にはマップを保持する別のビューがあるため、カスタム クラスの ID インスペクターでは GMSMapView に設定されます。

このビューには .h 実装へのアウトレットがあり、これは mapView と呼ばれます。.m には次のコードがあります。

  • (void)viewDidLoad

{

[super viewDidLoad];

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:10.49101

 longitude:-66.902061

 zoom:4];

 self.mapView = [GMSMapView mapWithFrame:[self.mapView bounds] camera:camera];

 self.mapView.myLocationEnabled = YES;



 GMSMarkerOptions *options = [[GMSMarkerOptions alloc] init];

 options.position = CLLocationCoordinate2DMake(-33.8683, 151.2086);

 options.title = @"Sydney";

 options.snippet = @"Australia";

 [self.mapView addMarkerWithOptions:options];

}

ご覧のとおり、カメラを作成してから、インターフェイス ビルダー (mapView) にあるビューの境界を含むマップを作成します。これは機能していないものです:

1) どの座標を入力しても、マップは常に (0,0) 座標で始まると信じています 2) 現在地が表示されません 3) マーカーも表示されません。4) 重要: マップは表示されますが、常にイングランド上空にあります。

正直なところ、何が起こっているのかわかりません。-(void)viewDidLoad に関係していると思いますインターフェイスビルダーで作成したビューにアクセスできないということです。

どうもありがとうございました!

4

1 に答える 1

0

インターフェイスビルダーでビューを使用せずに、問題に対する答えを見つけました。すべてプログラムでドンデです。解決策は次のとおりです。

-(void)viewDidLoad{ [super viewDidLoad];

mapView = [[GMSMapView alloc] initWithFrame:CGRectZero];

[mapView setFrame:CGRectMake(0, 0, 400, 400)];  ////here you will have to specify the bounds of the view through CGRectMake

 GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:10.49101

                                                         longitude:-66.902061

                                                              zoom:4];

 [mapView setCamera:camera];

 mapView.myLocationEnabled = YES;


 GMSMarkerOptions *options = [[GMSMarkerOptions alloc] init];

 options.position = CLLocationCoordinate2DMake(-33.8683, 151.2086);

 options.title = @"Sydney";

 options.snippet = @"Australia";

 [mapView addMarkerWithOptions:options];

 [self.view addSubview:mapView];

 [self.view sendSubviewToBack:mapView]; // just in case you need to send the map to the back, I do

}

于 2013-04-10T18:25:27.607 に答える