GMSMarker 类参考

GMSMarker 类参考

概览

标记是位于地图表面上特定点的图标。

标记的图标绘制时朝向设备屏幕(而不是地图表面)的方向;也就是说,标记的图标不一定会由于地图的旋转、倾斜或缩放而改变方向。

继承 GMSOverlay

GMSAdvancedMarker 继承。

静态公开成员函数

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

属性

CLLocationCoordinate2Dposition
 标记位置。
NSString * 代码段
 摘要文本,选中后会显示在信息窗口中标题的下方。
界面图片 * 图标
 要渲染的标记图标。
UIView * iconView
 要渲染的标记视图。
BOOL tracksViewChanges
 控制是否应每帧重新绘制此标记的图标。
BOOL tracksInfoWindowChanges
 控制是否应每一帧重新绘制此标记的信息窗口。
CGPointgroundAnchor
 地锚用于指定图标图片中锚定在地球表面上标记位置的点。
CGPointinfoWindowAnchor
 信息窗口锚点用于指定图标图像中锚定信息窗口的点,该点将显示在此点的正上方。
GMSMarkerAnimationappearAnimation
 控制将该标记放置在GMSMapView上时使用的动画(默认为 kGMSMarkerAnimationNone,无动画)。
BOOL 可拖动
 控制是否可以以交互方式拖动此标记(默认为“NO”)。
BOOL 平面
 控制此标记是平贴地球表面的 (YES),还是朝向镜头的广告牌(否,默认)。
CLLocationDegrees旋转
 用于设置标记围绕标记的锚点顺时针旋转的角度(以度为单位)。
float 不透明度
 设置标记的不透明度,介于 0(完全透明)和 1(默认)之间(包括 0 和 1)。
GMSMarkerLayer
 为此GMSMarker提供 Core Animation 图层。
GMSPanoramaViewpanoramaView
 panoramaView 用于指定将尝试显示该标记的全景视图。
NSString * title
 标题,叠加层的简短说明。
GMSMapViewmap
 此叠加层所在的地图。
BOOL 可点按
 此叠加层是否应引起点按通知。
int zIndex
 zIndex 值较高的叠加层将在 zIndex 值较低的图块层和叠加层之上绘制。
iduserData
 叠加层数据。

成员函数文档

+ (instancetype) markerWithPosition: (CLLocationCoordinate2D)  position

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

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

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


属性说明

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

标记位置。

动画。

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

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

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

要渲染的标记图标。

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

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

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

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

要渲染的标记视图。

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

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

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

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

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

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

默认值为 YES。如果 iconView 为 nil,则不会产生任何影响。

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

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

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

默认值为 NO。

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

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

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

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

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

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

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

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

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

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

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

- (BOOL) 固定值 [read, write, assign]

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

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

用于设置标记围绕标记的锚点顺时针旋转的角度(以度为单位)。

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

当地图上的标记为 Flat 标记时,默认位置为正北,而且旋转后该标记在地图上始终是平面。如果标记是广告牌,则默认位置为朝上,而且旋转时标记始终朝向镜头。

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

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

- (GMSMarkerLayer*) 图层 [read, assign]

为此GMSMarker提供 Core Animation 图层。

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

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 对象的任何强引用,否则可能会形成保留循环(阻止对象释放)。