web-dev-qa-db-ja.com

MKMapViewで現在の場所を中央に配置するにはどうすればよいですか?

MKMapViewを有効にしてshowUserLocationcurrent locationを表示しています。また、mapviewをユーザーの現在の場所とズームされた場所の地図の中央に配置します。 Stackoverflowに関する他の同様の質問からは何の助けも得られないので、これについて私を助けてください。

私のコードは以下です:

- (void)viewDidLoad {
  [super viewDidLoad];
  [mapView setMapType:MKMapTypeStandard];
  [mapView setZoomEnabled:YES];
  [mapView setScrollEnabled:YES];
  [mapView setCenterCoordinate:mapView.userLocation.location.coordinate animated:YES];
  [mapView setDelegate:self];
}
18
vipul

ユーザーの場所を中心にするには、次のコードを使用できます。

[mapView setCenterCoordinate:mapView.userLocation.location.coordinate animated:YES];

特別な場所にズームするには、領域(MKCoordinateRegion)がどのようにカウントされて機能するかを調査し、領域の値をカウントして、呼び出しを使用して表示する必要があります。

[mapView setRegion:myRegion animated:YES];

この サンプルWorldCities は、リージョン表示の基本を示しています。

51
Denis
MKCoordinateRegion region;
    MKCoordinateSpan span;
    span.latitudeDelta = 0.2;     // 0.0 is min value u van provide for zooming
    span.longitudeDelta= 0.2;

    CLLocationCoordinate2D location = [self addressLocation];
    region.span=span;
    region.center =location;     // to locate to the center
    if(addAnnotation != nil) {
        [mapView removeAnnotation:addAnnotation];
        [addAnnotation release];
        addAnnotation = nil;
    }
    addAnnotation = [[AddressANnotation alloc] initWithCoordinate:location];
    [mapView addAnnotation:addAnnotation];
    [mapView setRegion:region animated:TRUE];
    [mapView regionThatFits:region];

これは、マップビューの中心に位置を表示するのに役立ちました。

2
iamsult

mKMapView

self.mapView.showsUserLocation = YES;
self.mapView.userTrackingMode = MKUserTrackingModeFollow;
0
Baryon Lee
-(void) removeZoom:(float)deltaValue
{
    MKCoordinateRegion region;
    region.center.latitude =  self.locationManager.location.coordinate.latitude;
    region.center.longitude = self.locationManager.location.coordinate.longitude;

    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:0.5];
    region.span.latitudeDelta = deltaValue;
    region.span.longitudeDelta = deltaValue;
    region = [mapViewSelf regionThatFits:region];
    [mapViewSelf setRegion:region animated:YES];
    [UIView commitAnimations];

}