随着MKMapView有一个名为"显示用户的当前位置",它会自动显示在一个用户位置的选项map.
当它被找到时(如果它发生变化)我想移动并缩放到这个位置.
问题是,当用户位置更新时,似乎没有任何方法被调用map,所以我无处可放置代码zoom/scroll.
有没有办法在MKMapView获得(或更新)用户位置时收到通知,以便我可以移动/缩放它?如果我使用自己CLLocationManager的更新,我得到的更新与地图上用户标记的更新不一致,所以当我的地图移动并在蓝色针脚出现之前缩放几秒时,它看起来很傻.
这感觉就像基本的功能,但我花了几周的时间寻找解决方案而不是近距离接触.
当用户使用地图视图移动时,我想添加一些逻辑,即他进行平移触摸.但是当我添加手势识别器并且我想记录触摸时,没有任何反应.当我在另一个视图控制器中尝试它并将识别器添加到控制器的视图时,它可以正常工作.
这是我的代码(map视图是应用程序委托的属性,因为即使它不可见,我还需要用它做一些其他的事情):
- (void)viewDidLoad
{
...
UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(showPan)];
[appDelegate.mapView addGestureRecognizer:panGesture];
[panGesture release];
}
- (void)showPan
{
NSLog(@"pan!");
}
Run Code Online (Sandbox Code Playgroud)
我使用最新的iOS 4.2.1
谢谢你的建议.
问题是 - 有没有办法限制MKMapView的最大缩放级别?或者有没有办法跟踪用户何时缩放到没有可用地图图像的级别?