<GMSMapViewDelegate> 协议参考

<GMSMapViewDelegate> 协议参考

概览

GMSMapView 上的事件委托。

公共成员函数

(void) - mapView:willMove:
 在地图上的相机发生变化前调用,原因可能是手势或动画(例如,用户点按“我的位置”按钮),或者因为相机或图层上的长度为零的动画进行了显式更新。
(void) - mapView:didChangeCameraPosition:
 在地图上执行任何动画或手势操作时反复调用(或者,如果已明确设置镜头,则调用一次)。
(void) - mapView:idleAtCameraPosition:
 当地图变为空闲状态、所有未完成的手势或动画播放完毕(或镜头已明确设置)后调用。
(void) - mapView:didTapAtCoordinate:
 在特定坐标处执行点按手势后调用,但仅在未点按标记时调用。
(void) - mapView:didLongPressAtCoordinate:
 在特定坐标处执行长按手势后调用。
(BOOL)- mapView:didTapMarker:
 在点按标记后调用。
(void) - mapView:didTapInfoWindowOfMarker:
 在点按标记的信息窗口后调用。
(void) - mapView:didLongPressInfoWindowOfMarker:
 在长按标记的信息窗口后调用。
(void) - mapView:didTapOverlay:
 在点按叠加层后调用。
(void) - mapView:didTapPOIWithPlaceID:name:location:
 在点按地图注点后调用。
(可为 null 的 UIView *)- mapView:markerInfoWindow:
 在标记即将被选中时调用。如果此方法返回 UIView,则会提供一个可选的自定义信息窗口,供该标记使用。
(可为 null 的 UIView *)- mapView:markerInfoContents:
 在 mapView:markerInfoWindow: 返回 nil 时调用。
(void) - mapView:didCloseInfoWindowOfMarker:
 在标记的信息窗口关闭时调用。
(void) - mapView:didBeginDraggingMarker:
 对标记启动拖动时调用。
(void) - mapView:didEndDraggingMarker:
 在标记拖动结束后调用。
(void) - mapView:didDragMarker:
 会在用户拖动标记时调用。
(BOOL)- didTapMyLocationButtonForMapView
 当用户点按“我的位置”按钮时调用。
(void) - mapView:didTapMyLocation:
 当用户点按“我的位置”圆点时调用。
(void) - mapViewDidStartTileRendering
 刚刚请求图块或标签刚刚开始渲染时调用。
(void) - mapViewDidFinishTileRendering
 当所有图块均已加载(或永久失败)且标签已渲染时调用。
(void) - mapViewSnapshotReady
 在地图稳定(已加载图块、已渲染标签、相机空闲)且叠加层对象已渲染时调用。
(void) - mapView:didChangeMapCapabilities:
 每当地图功能发生更改时调用。
(void) - mapView:didTapFeatures:inFeatureLayer:atLocation:
 在点按数据驱动型样式地图项图层中的地图项后调用。

成员函数文档

- (void) mapView: (GMSMapView *) mapView
willMove: (BOOL) 手势
[optional]

在地图上的相机发生变化前调用,原因可能是手势或动画(例如,用户点按“我的位置”按钮),或者因为相机或图层上的长度为零的动画进行了显式更新。

参数:
地图视图点按的地图视图。
手势如果是,表示这是由用户手势所致。
- (void) mapView: (GMSMapView *) mapView
dodChangeCameraPosition: (GMSCameraPosition *) position
[optional]

在地图上执行任何动画或手势操作时反复调用(或者,如果已明确设置镜头,则调用一次)。

并非所有中间相机位置都会调用此方法。系统始终会调用该方法来确定动画或手势的最终位置。

- (void) mapView: (GMSMapView *) mapView
emptyAtCameraPosition: (GMSCameraPosition *) position
[optional]

当地图变为空闲状态、所有未完成的手势或动画播放完毕(或镜头已明确设置)后调用。

- (void) mapView: (GMSMapView *) mapView
doTapAtCoordinate: (CLLocationCoordinate2D) Coordinate
[optional]

在特定坐标处执行点按手势后调用,但仅在未点按标记时调用。

此方法会在取消选择任何当前选定的标记(用于点按地图的隐式操作)之前调用。

- (void) mapView: (GMSMapView *) mapView
dodLongPressAtCoordinate: (CLLocationCoordinate2D) Coordinate
[optional]

在特定坐标处执行长按手势后调用。

参数:
地图视图点按的地图视图。
坐标点按的位置。
- (BOOL) mapView: (GMSMapView *) mapView
didTapMarker: (GMSMarker *) 标记
[optional]

在点按标记后调用。

参数:
地图视图点按的地图视图。
标记点按的标记。
返回
如果此委托处理了点按事件(会阻止地图执行其默认选择行为),则为 YES;如果地图应继续采用其默认选择行为,则为 NO。
- (void) mapView: (GMSMapView *) mapView
didTapInfoWindowOfMarker: (GMSMarker *) 标记
[optional]

在点按标记的信息窗口后调用。

- (void) mapView: (GMSMapView *) mapView
dodLongPressInfoWindowOfMarker: (GMSMarker *) 标记
[optional]

在长按标记的信息窗口后调用。

- (void) mapView: (GMSMapView *) mapView
dotTapOverlay: (GMSOverlay *) overlay
[optional]

在点按叠加层后调用。

点按标记时不调用此方法。

参数:
地图视图点按的地图视图。
叠加层所点按的叠加层。
- (void) mapView: (GMSMapView *) mapView
dotTapPOIWithPlaceID: (NSString *)  placeID
name: (NSString *)  name
位置: (CLLocationCoordinate2D) location
[optional]

在点按地图注点后调用。

参数:
地图视图点按的地图视图。
地点 ID点按的地图注点的地点 ID。
name点按的地图注点的名称。
个位置点按的地图注点的位置。
-(可为 null 的 UIView *)mapView: (GMSMapView *) mapView
tagsInfoWindow: (GMSMarker *) 标记
[optional]

在标记即将被选中时调用。如果此方法返回 UIView,则会提供一个可选的自定义信息窗口,供该标记使用。

如果您在调用此方法后更改此视图,这些更改不一定会反映在呈现的版本中。

返回的 UIView 在任一维度上的边界均不得超过 500 个点。由于任何时候都只显示一个信息窗口,因此返回的视图可以在其他信息窗口之间重复使用。

在此调用期间从地图中移除标记或更改地图的选定标记会导致出现未定义的行为。

返回
指定标记的自定义信息窗口,默认值为 nil
-(可为 null 的 UIView *)mapView: (GMSMapView *) mapView
tagsInfoContents: (GMSMarker *) 标记
[optional]

在 mapView:markerInfoWindow: 返回 nil 时调用。

如果此方法返回一个视图,则会将其放置在默认信息窗口框架中。如果此方法返回 nil,则将改用默认呈现。

参数:
地图视图按下的地图视图。
标记按下的标记。
返回
要在信息窗口中作为内容显示的自定义视图,或者设置为 nil,以使用默认内容呈现方式
- (void) mapView: (GMSMapView *) mapView
dodCloseInfoWindowOfMarker: (GMSMarker *) 标记
[optional]

在标记的信息窗口关闭时调用。

- (void) mapView: (GMSMapView *) mapView
doBeginDraggingMarker: (GMSMarker *) 标记
[optional]

对标记启动拖动时调用。

- (void) mapView: (GMSMapView *) mapView
dodEndDraggingMarker: (GMSMarker *) 标记
[optional]

在标记拖动结束后调用。

- (void) mapView: (GMSMapView *) mapView
didDragMarker: (GMSMarker *) 标记
[optional]

会在用户拖动标记时调用。

- (BOOL) didTapMyLocationButtonForMapView (GMSMapView *) mapView [optional]

当用户点按“我的位置”按钮时调用。

返回
如果监听器使用了事件,则为 YES(即不应发生默认行为),否则为 NO(即应发生默认行为)。默认行为是让相机移动,使其位于设备位置的中心。
- (void) mapView: (GMSMapView *) mapView
didTapMyLocation: (CLLocationCoordinate2D) location
[optional]

当用户点按“我的位置”圆点时调用。

参数:
地图视图点按的地图视图。
个位置点按位置圆点时设备所在的位置。
- (void) mapViewDidStartTileRendering: (GMSMapView *) mapView [optional]

刚刚请求图块或标签刚刚开始渲染时调用。

- (void) mapViewDidFinishTileRendering: (GMSMapView *) mapView [optional]

当所有图块均已加载(或永久失败)且标签已渲染时调用。

- (void) mapViewSnapshotReady: (GMSMapView *) mapView [optional]

在地图稳定(已加载图块、已渲染标签、相机空闲)且叠加层对象已渲染时调用。

- (void) mapView: (GMSMapView *) mapView
dodChangeMapCapabilities: (GMSMapCapabilityFlags) mapCapabilities
[optional]

每当地图功能发生更改时调用。

参数:
地图视图更改了 mapCapabilities 的地图视图。
mapCapabilities标记,表示当前地图上的功能。
- (void) mapView: (GMSMapView *) mapView
dotTapFeatures: (NSArray< id< GMSFeature >> *) 功能
inFeatureLayer: (GMSFeatureLayer *) 地图项图层
atLocation: (CLLocationCoordinate2D) location
[optional]

在点按数据驱动型样式地图项图层中的地图项后调用。

与所点按点重叠的所有地图项都将包含在内。如果地图项属于不同的地图项图层,则系统将多次调用此方法(针对每个地图项图层调用一次)。

不同地图项图层上的事件或地图项图层上的事件与基本地图上的其他实体上的事件之间均无法保证顺序。

参数:
地图视图点按的地图视图。
功能在图层中点击的所有地图项的数组。
featureLayer包含特征的地图项图层。
个位置实际点按点的位置。