ios 地图如何区分人为拖动

看网上,没找到相应的答案,说的大都是地图移动的一些代理方法,但是这个没法分辨出是否是用户手动操作的!正解如下:

试了高德MAMapView,和原生地图MKMapView

MAMapView ,高德提供了下面的方法,后面都带了wasUserAction,用来区分是否是用户操作

//地图将要发生移动时调用此接口

- (void)mapView:(MAMapView *)mapView mapWillMoveByUser:(BOOL)wasUserAction;

//地图移动结束后调用此接口

- (void)mapView:(MAMapView *)mapView mapDidMoveByUser:(BOOL)wasUserAction;

//地图将要发生缩放时调用此接口

- (void)mapView:(MAMapView *)mapView mapWillZoomByUser:(BOOL)wasUserAction;

//地图缩放结束后调用此接口

- (void)mapView:(MAMapView *)mapView mapDidZoomByUser:(BOOL)wasUserAction;

MKMapView,方法翻了个遍,硬是没找到对应的方法,只能想别的办法了

地图里面已经内置好了拖动的手势,关于手势的一些骚操作就不太好处理咱们这个问题了,直接监控touches这个比较low的东西就可以了

- (void)touchesBegan:(NSSet *)touches withEvent:(nullable UIEvent *)event;

- (void)touchesMoved:(NSSet*)touches withEvent:(nullable UIEvent *)event;

- (void)touchesEnded:(NSSet *)touches withEvent:(nullable UIEvent *)event;

这样就可以区分出是不是用户操作的地图了,具体的需求可以在

- (void)touchesMoved:(NSSet*)touches withEvent:(nullable UIEvent *)event;

这个里面区分判断

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容