2012-01-30 8 views
0

viewcontrollerのビューにマップビューをロードしています。マップビューを読み込むと、連絡先の位置が直接ズームされます。私は私のviewcontrollerのツールバーにボタンがあります。このボタンをクリックすると、マップビューは既にズームした場所から自分のiPhoneの現在の場所にズームする必要があります。この機能はiphone map appのものと似ています。これどうやってするの?mapviewのズームされた場所を現在のデバイスの場所に変更する方法

答えて

1
//did update user location 


    - (void)mapView:(MKMapView *)currentMapView didUpdateUserLocation:(MKUserLocation *)userLocation{ 

     if(shouldChangeSpan) { 
      MKCoordinateSpan span; 
      span.latitudeDelta = 0.40; 
      span.longitudeDelta = 0.45; 
      MKCoordinateRegion region = MKCoordinateRegionMake(userLocation.coordinate, span); 
      [mapView setRegion:region animated:YES]; 
      shouldChangeSpan = NO; 
     } 
    } 

shouldChangeSpanはhで宣言されています。表示されていない場合はloadに設定し、ボタンアクションメソッドではyesに設定します。

+0

私はあなたの答えの後半部分をしました。私が間違っているところは、mapviewを読み込むことです。 mapのsetregionメソッドをmapviewの同じインスタンスに2回呼び出すことは可能ですか?私は例外を取得しています。理由を理解できない。 –

+0

コードを編集しましたが、間違っていました –

関連する問題