GMSAdvancedMarker 类参考

GMSAdvancedMarker 类参考

概览

高级标记是放置在地图表面特定点上的图标。

继承GMSMarker

静态公共成员函数

(instancetype)+ markerWithPosition:
 默认标记的简便构造函数。
(UIImage *)+ markerImageWithColor:
 创建默认标记图像的着色版本,以用作图标。

属性

GMSCollisionBehaviorcollisionBehavior
 标记的冲突行为,用于确定标记的可见性是否会受到地图上其他标记或已加标签的内容的影响。
CLLocationCoordinate2Dposition
 标记位置。
NSString * 代码段
 摘要文本,选中后会显示在信息窗口的标题下方。
UIImage * 图标
 要渲染的标记图标。
UIView * iconView
 要渲染的标记视图。
BOOL tracksViewChanges
 控制是否应每帧重新绘制此标记的图标。
BOOL tracksInfoWindowChanges
 控制是否应每帧重新绘制此标记的信息窗口。
CGPointgroundAnchor
 地面锚点用于在图标图片中指定固定于地球表面上标记位置的点。
CGPointinfoWindowAnchor
 信息窗口锚点用于指定图标图片中要锚定信息窗口的点,该点会显示在此点的正上方。
GMSMarkerAnimationappearAnimation
 控制将此标记放置在GMSMapView上时使用的动画(默认为 kGMSMarkerAnimationNone,无动画)。
BOOL 可拖动
 控制是否能够以交互方式拖动此标记(默认为“否”)。
BOOL 平面
 控制此标记是平贴地球表面(是)还是贴着广告牌朝向镜头(默认为否)。
CLLocationDegrees旋转
 用于设置标记相对于标记的锚点顺时针旋转的度数。
float 不透明度
 设置标记的不透明度,介于 0(完全透明)和 1(默认值)之间(含 0 和 1)。
GMSMarkerLayer
 为此GMSMarker提供 Core Animation 层。
GMSPanoramaViewpanoramaView
 panoramaView 用于指定将尝试显示该标记的全景视图。
NSString * title
 标题,叠加层的简短说明。
GMSMapViewmap
 此叠加层所在的地图。
BOOL 可点按
 此叠加层是否应引发点按通知。
int zIndex
 zIndex 值较高的叠加层将在 zIndex 值较低的图块层和叠加层之上绘制。
iduserData
 叠加层数据。

成员函数文档

+(实例类型)markerWithPosition: (CLLocationCoordinate2D) position

默认标记的简便构造函数。

+ (UIImage *) markerImageWithColor: (nullable UIColor *)  颜色

创建默认标记图像的着色版本,以用作图标。


属性说明

- (GMSCollisionBehavior) collisionBehavior [read, write, assign]

标记的冲突行为,用于确定标记的可见性是否会受到地图上其他标记或已加标签的内容的影响。

- (CLLocationCoordinate2D) position [read, write, assign, inherited]

标记位置。

动画。

- (NSString*) 代码段 [read, write, copy, inherited]

摘要文本,选中后会显示在信息窗口的标题下方。

- (UIImage*) 图标 [read, write, assign, inherited]

要渲染的标记图标。

如果留空,则使用默认的 SDK 地点标记。

支持动画图片,但每个帧的大小必须相同,或者行为未定义。

支持使用 AlignmentRectInsets 来指定缩小的点按区域。这也重新定义了锚点的指定方式。对于动画图片,系统会使用动画的值,而不是单个帧。

- (UIView*) iconView [read, write, assign, inherited]

要渲染的标记视图。

如果保留 nil,则改为回退到 icon 属性。

支持 UIView 的所有可添加动画效果的属性(framecenter 除外)的动画。不支持更改这些属性或其对应的 CALayer 版本,包括 position

请注意,无论 clipsToBounds 的实际值如何,该视图的行为就像设为 YES 一样。

- (BOOL) tracksViewChanges [read, write, assign, inherited]

控制是否应每帧重新绘制此标记的图标。

请注意,当该值从“否”变为“是”时,系统必定会在下一帧中重新绘制图标。

默认值为 YES。如果 iconView 为 nil,则无效。

- (BOOL) tracksInfoWindowChanges [read, write, assign, inherited]

控制是否应每帧重新绘制此标记的信息窗口。

请注意,当此值从“否”变为“是”时,系统必定会在下一帧中重新绘制信息窗口。

默认值为 NO。

- (CGPoint) groundAnchor [read, write, assign, inherited]

地面锚点用于在图标图片中指定固定于地球表面上标记位置的点。

该点在连续空间 [0.0, 1.0] x [0.0, 1.0] 内指定,其中 (0,0) 表示图片的左上角,(1,1) 表示右下角。

如果图片具有非零 AlignmentRectInsets,则上面提到的左上角和右下角是指图片的边衬区部分。

- (CGPoint) infoWindowAnchor [read, write, assign, inherited]

信息窗口锚点用于指定图标图片中要锚定信息窗口的点,该点会显示在此点的正上方。

此点是在与 groundAnchor 在同一个空间内指定的。

- (GMSMarkerAnimation) appearAnimation [read, write, assign, inherited]

控制将此标记放置在GMSMapView上时使用的动画(默认为 kGMSMarkerAnimationNone,无动画)。

- (BOOL) 可拖动 [read, write, assign, inherited]

控制是否能够以交互方式拖动此标记(默认为“否”)。

- (BOOL) 平面 [read, write, assign, inherited]

控制此标记是平贴地球表面(是)还是贴着广告牌朝向镜头(默认为否)。

- (CLLocationDegrees) 旋转 [read, write, assign, inherited]

用于设置标记相对于标记的锚点顺时针旋转的度数。

旋转轴与标记垂直。旋转值 (0) 对应于标记的默认位置。动画。

当地图上的标记为 Flat 标记时,默认位置朝北对齐,并且旋转会使标记始终在地图上保持平坦。如果标记是 Billboard,则默认位置为朝上,而且旋转时标记始终朝向镜头。

-(浮点数)不透明度 [read, write, assign, inherited]

设置标记的不透明度,介于 0(完全透明)和 1(默认值)之间(含 0 和 1)。

- (GMSMarkerLayer*) layer [read, assign, inherited]

为此GMSMarker提供 Core Animation 层。

- (GMSPanoramaView*) panoramaView [read, write, assign, inherited]

panoramaView 用于指定将尝试显示该标记的全景视图。

请注意,如果标记的 positionpanoramaView 的当前全景图片位置太远,将不会显示,因为它会过小。

可将标记设为 nil,以便从标记当前附加到的任何全景视图中移除标记。

标记可以同时显示在全景图片和地图上。

- (NSString*) title [read, write, copy, inherited]

标题,叠加层的简短说明。

某些叠加层(如标记)会在地图上显示标题。标题也是默认的无障碍文本。

- (GMSMapView*) 地图 [read, write, assign, inherited]

此叠加层所在的地图。

设置该属性会将叠加层添加到地图中。将其设置为 nil 会从地图中删除该叠加层。在任意给定时间,一个叠加层最多只能在一张地图上处于活动状态。

- (BOOL) 可点按 [read, write, assign, inherited]

此叠加层是否应引发点按通知。

某些叠加层(如标记)默认是可点按的。

-(整数)zIndex [read, write, assign, inherited]

zIndex 值较高的叠加层将在 zIndex 值较低的图块层和叠加层之上绘制。

相等的值会导致未定义的绘制顺序。标记是一个例外:无论 zIndex 如何,它们始终在图块图层和其他非标记叠加层之上绘制;事实上,与其他叠加层相比,可将这些标记视为位于单独的 Z-index 组中。

- (id) userData [read, write, assign, inherited]

叠加层数据。

您可以使用该属性将任意对象与此叠加层关联。Google Maps SDK for iOS 既不会读取也不会写入此属性。

请注意,userData 不应保留对任何 Maps 对象的任何强引用,否则可能会创建保留循环(防止释放对象)。