GMSMarker 类参考文档

GMSMarker 类参考

概览

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

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

继承 GMSOverlay

GMSAdvancedMarker 继承。

静态公开成员函数

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

属性

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

成员函数文档

+ (instancetype) markerWithPosition: (CLLocationCoordinate2D) position

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

+ (UIImage *) markerImageWithColor: (可为 null 的 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]

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

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

默认值为“否”。

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

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

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

如果图片具有非零 alignRectInsets,则上面提到的左上角和右下角引用了图片的边衬区部分。

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

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

此点在与 groundAnchor 相同的空间内指定。

- (GMSMarkerAnimation) 有空显示动画 [read, write, assign]

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

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

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

- (BOOL) 平价 [read, write, assign]

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

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

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

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

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

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

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

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

提供该GMSMarker的核心动画层。

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