ios百度地图不能移动或者移动很慢的解决方案

在做百度地图的时候,遇到一个问题,那就是每次移动百度地图时,问题只能慢慢地移动一点点的距离,这让人感到很难受啊,

如果开始检查百度地图的API是否是设置了关闭移动:

  _mapView.scrollEnabled = YES;

结果我已经设置为打开了,也不好使,于是继续查,

结果发现是由于手势的冲突造成的。


由于项目中使用了MLNavigationController这个库,UIPanGestureRecognizer导致了冲突。

于是我就追加了两个方法:

// 解决手势冲突方案
// 在viewDidLoad或viewWillAppear中调用
- (void)removeGestureAction;
// 在viewWillDisappear方法中调用
- (void)addGestureAction;

- (void)addGest {
  self.recognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self
                                                            action:@selector(paningGestureReceive:)];
  [self.recognizer delaysTouchesBegan];
  [self.view addGestureRecognizer:self.recognizer];
}

// 解决手势冲突方案
- (void)removeGestureAction {
  [self.view removeGestureRecognizer:self.recognizer];
}

- (void)addGestureAction {
  [self addGest];
}

如此就可以解决我的问题了。

如果有遇到同样类似的问题的朋友,请首先检查地图所有的各级的view中有多少个手势,是否有相同类型的手势,如果有,就是手势的冲突导致的,

那么就需要自己处理了。

你可能感兴趣的:(IOS开发笔记)