全部服务产品
开发者频道
定价
登录
事件交互
下载开发文档
地图事件监听

百度地图支持地图状态,手势交互,和地图覆盖物交互等事件的监听,并提供了相应的事件监听方法。

地图状态事件监听:

/**
*地图状态改变完成后会调用此接口
*@param mapView 地图View
*/
- (void)mapStatusDidChanged:(BMKMapView *)mapView;
/**
*地图进入/移出室内图会调用此接口
*@param mapView 地图View
*@param flag YES:进入室内图; NO:移出室内图
*@param info 室内图信息
*/
- (void)mapview:(BMKMapView *)mapView baseIndoorMapWithIn:(BOOL)flag baseIndoorMapInfo:(BMKBaseIndoorMapInfo *)info;
/**
*地图初始化完毕时会调用此接口
*@param mapView 地图View
*/
- (void)mapViewDidFinishLoading:(BMKMapView *)mapView;
/**
*地图渲染完毕后会调用此接口
*@param mapView 地图View
*/
- (void)mapViewDidFinishRendering:(BMKMapView *)mapView;
/**
*地图渲染每一帧画面过程中,以及每次需要重绘地图时(例如添加覆盖物)都会调用此接口
*@param mapView 地图View
*@param status 此时地图的状态
*/
- (void)mapView:(BMKMapView *)mapView onDrawMapFrame:(BMKMapStatus*)status;
/**
*地图区域即将改变时会调用此接口
*@param mapView 地图View
*@param animated 是否动画
*/
- (void)mapView:(BMKMapView *)mapView regionWillChangeAnimated:(BOOL)animated;
/**
*地图区域即将改变时会调用此接口
*@param mapView 地图View
*@param animated 是否动画
*@param reason 地区区域改变的原因
*/
- (void)mapView:(BMKMapView *)mapView regionWillChangeAnimated:(BOOL)animated reason:(BMKRegionChangeReason)reason;
/**
*地图区域改变完成后会调用此接口
*@param mapView 地图View
*@param animated 是否动画
*/
- (void)mapView:(BMKMapView *)mapView regionDidChangeAnimated:(BOOL)animated;
/**
*地图区域改变完成后会调用此接口
*@param mapView 地图View
*@param animated 是否动画
*@param reason 地区区域改变的原因
*/
- (void)mapView:(BMKMapView *)mapView regionDidChangeAnimated:(BOOL)animated reason:(BMKRegionChangeReason)reason;

地图手势交互事件监听:

/**
*点中底图空白处会回调此接口
*@param mapView 地图View
*@param coordinate 空白处坐标点的经纬度
*/
- (void)mapView:(BMKMapView *)mapView onClickedMapBlank:(CLLocationCoordinate2D)coordinate;
/**
*双击地图时会回调此接口
*@param mapView 地图View
*@param coordinate 返回双击处坐标点的经纬度
*/
- (void)mapview:(BMKMapView *)mapView onDoubleClick:(CLLocationCoordinate2D)coordinate;
/**
*长按地图时会回调此接口
*@param mapView 地图View
*@param coordinate 返回长按事件坐标点的经纬度
*/
- (void)mapview:(BMKMapView *)mapView onLongClick:(CLLocationCoordinate2D)coordinate;
/**
*3DTouch 按地图时会回调此接口(仅在支持3D Touch,且fouchTouchEnabled属性为YES时,会回调此接口)
*@param mapView 地图View
*@param coordinate 触摸点的经纬度
*@param force 触摸该点的力度(参考UITouch的force属性)
*@param maximumPossibleForce 当前输入机制下的最大可能力度(参考UITouch的maximumPossibleForce属性)
*/
- (void)mapview:(BMKMapView *)mapView onForceTouch:(CLLocationCoordinate2D)coordinate force:(CGFloat)force maximumPossibleForce:(CGFloat)maximumPossibleForce;

地图覆盖物交互事件监听:

/**
*点中底图标注后会回调此接口
*@param mapView 地图View
*@param mapPoi 标注点信息
*/
- (void)mapView:(BMKMapView *)mapView onClickedMapPoi:(BMKMapPoi*)mapPoi;
/**
*根据anntation生成对应的View
*@param mapView 地图View
*@param annotation 指定的标注
*@return 生成的标注View
*/
- (BMKAnnotationView *)mapView:(BMKMapView *)mapView viewForAnnotation:(id <BMKAnnotation>)annotation;
/**
*当mapView新添加annotation views时,调用此接口
*@param mapView 地图View
*@param views 新添加的annotation views
*/
- (void)mapView:(BMKMapView *)mapView didAddAnnotationViews:(NSArray *)views;
/**
*当选中一个annotation views时,调用此接口
*@param mapView 地图View
*@param view 选中的annotation views
*/
- (void)mapView:(BMKMapView *)mapView didSelectAnnotationView:(BMKAnnotationView *)view;
/**
*当取消选中一个annotation views时,调用此接口
*@param mapView 地图View
*@param view 取消选中的annotation views
*/
- (void)mapView:(BMKMapView *)mapView didDeselectAnnotationView:(BMKAnnotationView *)view;
/**
*拖动annotation view时,若view的状态发生变化,会调用此函数。ios3.2以后支持
*@param mapView 地图View
*@param view annotation view
*@param newState 新状态
*@param oldState 旧状态
*/
- (void)mapView:(BMKMapView *)mapView annotationView:(BMKAnnotationView *)view didChangeDragState:(BMKAnnotationViewDragState)newState
fromOldState:(BMKAnnotationViewDragState)oldState;
/**
*当点击annotation view弹出的泡泡时,调用此接口
*@param mapView 地图View
*@param view 泡泡所属的annotation view
*/
- (void)mapView:(BMKMapView *)mapView annotationViewForBubble:(BMKAnnotationView *)view;
/**
*根据overlay生成对应的View
*@param mapView 地图View
*@param overlay 指定的overlay
*@return 生成的覆盖物View
*/
- (BMKOverlayView *)mapView:(BMKMapView *)mapView viewForOverlay:(id <BMKOverlay>)overlay;
/**
*当mapView新添加overlay views时,调用此接口
*@param mapView 地图View
*@param overlayViews 新添加的overlay views
*/
- (void)mapView:(BMKMapView *)mapView didAddOverlayViews:(NSArray *)overlayViews;
/**
*点中覆盖物后会回调此接口,目前只支持点中BMKPolylineView时回调
*@param mapView 地图View
*@param overlayView 覆盖物view信息
*/
- (void)mapView:(BMKMapView *)mapView onClickedBMKOverlayView:(BMKOverlayView *)overlayView;

上一篇

控件和手势

下一篇

路况事件

本篇文章对您是否有帮助?