我试图在Google GMSMapView上覆盖一个UIView。目的是为了拦截滑动事件,以便知道何时手动移动地图。(我知道我可以检查-mapView:willMove: 但无论地图是由程序或手动触摸移动,该方法都会被调用)。我正在根据位置更新重新设置地图的中心点-因为谷歌不像苹果那样自动为您完成。和所有的地图程序一样,我想在用户手动移动地图后立即停止聚焦在当前位置。我能想到的捕捉这种情况的唯一方法(除了切换到MapKit或等待Google添加API)就是在视图经过设置在地图上的另一个视图时捕获滑动事件。
为了澄清,我的问题是如何将一个视图放在Google地图上,并使其响应滑动,并仍然允许此事件通过GMSMapView传递。
我的地图和interceptView都是主视图的同级子节点。interceptView有一个手势识别器,设置为不透明、不隐藏且userInteractionEnabled = YES。因此,interceptView可以很好地接收触摸事件。但底下的地图不会移动。如果我设置interceptView.userInteractionEnabled = NO, 地图就正常工作了。
通过重写touchesBegan并调用GMSMapView的touchesBegan来“传递触摸”不起作用。而重写hitTest似乎不是一个选项,因为我无法子类化GMSMapView。有人做过这个吗?我知道这里有很多关于传递特定事件的内容。我想在两个视图上处理一个特定事件,其中一个是我不能修改代码的Google地图层。
为了澄清,我的问题是如何将一个视图放在Google地图上,并使其响应滑动,并仍然允许此事件通过GMSMapView传递。
我的地图和interceptView都是主视图的同级子节点。interceptView有一个手势识别器,设置为不透明、不隐藏且userInteractionEnabled = YES。因此,interceptView可以很好地接收触摸事件。但底下的地图不会移动。如果我设置interceptView.userInteractionEnabled = NO, 地图就正常工作了。
通过重写touchesBegan并调用GMSMapView的touchesBegan来“传递触摸”不起作用。而重写hitTest似乎不是一个选项,因为我无法子类化GMSMapView。有人做过这个吗?我知道这里有很多关于传递特定事件的内容。我想在两个视图上处理一个特定事件,其中一个是我不能修改代码的Google地图层。