0

iOS向けの開発を学んでいます。Google Maps API for iOS を使用して地図を作成しています。GMSMapView のようなインスペクター要素に入れているビューをプロジェクトに入れました。

私のコードでは、このコードを以下に示します。

- (void) setMapView:(GMSMapView *)mapView {

    if (!mapView) {
        mapView = [[GMSMapView alloc] initWithFrame:mapView.bounds];
    }

    googleMap = mapView;

}

マップは機能しますが、このマップにカメラをセットアップしたいと考えています。viewDidLoad関数について、私はこのコードを以下に置きました:

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.8683
                                                        longitude:151.2086
                                                             zoom:12];

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

しかし、Google マップはこのマップをロンドンにロードするだけです。理由はわかりません。Ths はシドニーからコーディネートします。私も試しgoogleMap = [GMSMapView mapWithFrame:CGRectZero camera:camera];ましたが、うまくいきません。

誰でも私を助けることができますか?

4

1 に答える 1

1

私も同じ問題を抱えていました。マップが割り当てられたら、カメラ位置にアニメーション化することで修正できます。新しいカメラ位置にアニメーション化する前に遅延を追加しました。これは機能します。

- (void)viewDidLoad
{
    self.mapView = [[GMSMapView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; // Any Frame

    double delayInSeconds = 0.2;
    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){

        GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.8683
                                                                longitude:151.2086
                                                                     zoom:12];

        [self.mapView animateToCameraPosition:camera];

    });
}
于 2013-04-20T21:06:23.807 に答える