我使用这两种方法锁定用户在地图中的位置,并且它完美运行...
然而,我猜它的效果太好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];
}
}
答案 0 :(得分:0)
好吧,所以我想我想出来了......我目前正在做的方式似乎很难......在iOS 5中他们允许使用这种方法,它就像一个魅力
[mapView setUserTrackingMode:MKUserTrackingModeFollow animated:YES];