美文网首页
iOS地图开发 MapKit点击地图空白处事件的实现

iOS地图开发 MapKit点击地图空白处事件的实现

作者: Aexsi | 来源:发表于2022-04-01 17:58 被阅读0次

在iOS地图开发中,有时候我们需要在用户点击地图空白处的时候执行某些操作,例如隐藏地图上的AnnotationView浮窗。类似百度地图、高德地图这样的第三方SDK提供了点击地图空白处的方法,例如在百度地图的SDK中有以下方法:

/**
 *点中底图空白处会回调此接口
 *@param mapView 地图View
 *@param coordinate 空白处坐标点的经纬度
 */
- (void)mapView:(BMKMapView *)mapView onClickedMapBlank:(CLLocationCoordinate2D)coordinate;

但是在原生的MapKit中是没有提供类似方法的,不过我们可以通过拦截触摸事件的方式实现,代码如下:

- (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
    UITouch *touch = [touches anyObject];
    CGPoint point = [touch locationInView:self];
    UIView *v = [self hitTest:point withEvent:event];
    if ([v isKindOfClass: NSClassFromString(@"MKAnnotationContainerView")]) {
        [self onClickedMapBlank];
        NSLog(@"点击空白区域");
    } else if ([v isKindOfClass: NSClassFromString(@"MKAnnotationView")]) {
        NSLog(@"点击Annotation区域");
    }
}

- (void)onClickedMapBlank{
    //doSomething
}

把这些方法写在一个继承MKMapView的自定义view中,在onClickedMapBlank里做你想做的事吧。

相关文章

  • iOS地图开发 MapKit点击地图空白处事件的实现

    在iOS地图开发中,有时候我们需要在用户点击地图空白处的时候执行某些操作,例如隐藏地图上的AnnotationVi...

  • iOS Mapkit的使用

    【iOS】Mapkit的使用:地图显示、定位、大头针、气泡等 标签:iOS地图mapkit 1.显示地图 (1)首...

  • iOS基础-系统地图使用

    地图开发注意: 项目中必须添加MapKit/MapKit框架 地图导航注意: 设置起点和终点 设置导航参数 通过M...

  • MapKit框架的使用

    MapKit框架的使用 一. 地图的基本使用 1. 设置地图显示类型 地图的样式可以手动设置, 在iOS9.0之前...

  • MapKit框架的使用

    MapKit框架的使用 一. 地图的基本使用 1. 设置地图显示类型 地图的样式可以手动设置, 在iOS9.0之前...

  • MapKit框架的使用

    MapKit框架的使用 一. 地图的基本使用 1. 设置地图显示类型 地图的样式可以手动设置, 在iOS9.0之前...

  • iOS 地图开发(MapKit)(二)

    相关类的介绍:MKAnnotation(大头针协议)大头针数据类(自定义的大头针需要遵守大头针协议)MKPoint...

  • iOS 地图开发(MapKit)(一)

    MKMapView控件对象的属性和方法属性1.设置地图类型 @property (nonatomic) MKMap...

  • CoreLocation定位

    定位 -在iOS开发中想要加入定位和地图功能,那么必须基于CoreLocation和MapKit2个框架进行开发-...

  • Mapkit地图显示

    导入头文件“MapKit.h” 1、MKMapView 能够显示ios自带的地图(国内默认为高德地图) mapTy...

网友评论

      本文标题:iOS地图开发 MapKit点击地图空白处事件的实现

      本文链接:https://www.haomeiwen.com/subject/pgwajrtx.html