MapView自动更改区域

时间:2016-09-05 07:58:54

标签: ios objective-c mkmapview

我是初学者并创建了一个小项目,只是为了了解mapview,我在其中向右设置了四个按钮并在此处设置了一个飞行图像

enter image description here

当我们点击向上按钮时,弧度增加了10个坐标,如47-> 57-> 67到77 in in down-> -43-> -53-> -63到-73并且左右相同我只想知道为什么它会改变区域并在我上升时缩小(当增加振幅时)并放大(当减小纬度时)以及如何修复它除了一切正常细

我会为一个按钮添加代码,让我们说 UP 以便您更好地理解: -

1.in viewDidLoad

 lattitude=27;

2.在我的viewController.m

- (IBAction)up:(id)sender {
    if (lattitude<=70) {

    _targetOutlet.image=[UIImage imageNamed:@"up"];
    [UIView animateWithDuration:5 animations:^{
    lattitude=lattitude+10;

    centre=CLLocationCoordinate2DMake(lattitude, longitude);
    map.userLocation.coordinate=centre;
        region=[map regionThatFits:MKCoordinateRegionMakeWithDistance(centre, zoomScale ,zoomScale)];

            [map setRegion:[map regionThatFits:region] animated:YES];
    }];

    }


        NSLog(@"UP = Lattitude = %f longitude= %f",lattitude,longitude);

}
  

注意:该区域在整个项目中是固定的。

1 个答案:

答案 0 :(得分:1)

问题可能在于MKCoordinateRegionMakeWithDistance方法,每次设置此方法的latitudinalMeters longitudinalMeters参数时都会出现问题。

 MKCoordinateRegion MKCoordinateRegionMakeWithDistance ( CLLocationCoordinate2D centerCoordinate, CLLocationDistance latitudinalMeters, CLLocationDistance longitudinalMeters ); 

你可以尝试这个:

region=[map regionThatFits:MKCoordinateRegionMakeWithDistance(centre, 200 ,200)];

或查看apple doc了解更多信息:)