在地图中滚动后解锁缩放

时间:2012-07-12 02:19:29

标签: iphone ios xcode

我使用这两种方法锁定用户在地图中的位置,并且它完美运行...

然而,我猜它的效果太好lol,每当我用户移动地图以查看地图上的其他地方时...它会强制用户返回到当前位置所在的位置。

所以我想我的问题是,在用户滚动地图后,如何禁用用户位置的锁定。

- (void)viewDidLoad {

     // more code here that i didn't post

     [self.mapView.userLocation addObserver:self 
                            forKeyPath:@"location" 
                       options:(NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld) 
                       context:NULL];
    }



- (void)observeValueForKeyPath:(NSString *)keyPath  
                  ofObject:(id)object  
                    change:(NSDictionary *)change  
                   context:(void *)context {  

    if ([self.mapView showsUserLocation]) {  

    MKCoordinateRegion region;
    region.center = self.mapView.userLocation.coordinate;  

    MKCoordinateSpan span; 
    span.latitudeDelta  = 1; // Change these values to change the zoom
    span.longitudeDelta = 1; 
    region.span = span;

    [self.mapView setRegion:region animated:YES];
   }
}

1 个答案:

答案 0 :(得分:0)

好吧,所以我想我想出来了......我目前正在做的方式似乎很难......在iOS 5中他们允许使用这种方法,它就像一个魅力

[mapView setUserTrackingMode:MKUserTrackingModeFollow animated:YES];