<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]

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

参数:
mapView点按的地图视图。
手势如果为“是”,则是因为用户手势所致。
- (void) mapView: (GMSMapView *) mapView
dodChangeCameraPosition: (GMSCameraPosition *) position
[optional]

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

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

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

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

- (void) mapView: (GMSMapView *) mapView
DodTapAtCoordinate: (CLLocationCoordinate2D)  坐标
[optional]

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

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

- (void) mapView: (GMSMapView *) mapView
DodLongPressAtCoordinate: (CLLocationCoordinate2D)  坐标
[optional]

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

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

在点按标记后调用。

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

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

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

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

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

在点按叠加层后调用。

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

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

在点按某个地图注点后调用。

参数:
mapView点按的地图视图。
placeID点按的地图注点的地点 ID。
name点按的地图注点的名称。
个位置点按的地图注点的位置。
- (nullable UIView *) mapView: (GMSMapView *) mapView
markInfoWindow: (GMSMarker *) marker
[optional]

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

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

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

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

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

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

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

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

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

- (void) mapView: (GMSMapView *) mapView
DodBeginDraggingMarker: (GMSMarker *) marker
[optional]

在标记上启动拖动操作时调用。

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

在标记拖动结束之后调用。

- (void) mapView: (GMSMapView *) mapView
dodDragMarker: (GMSMarker *) marker
[optional]

会在拖动标记时调用。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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