概览
标记是放置在地图表面上特定点的图标。
标记的图标绘制时朝向设备屏幕(而不是地图表面)的方向;也就是说,它不一定会由于地图旋转、倾斜或缩放而改变方向。
继承 GMSOverlay。
由 GMSAdvancedMarker 继承。
静态公开成员函数 | |
(instancetype) | + markerWithPosition: |
默认标记的简便构造函数。 | |
(UIImage *) | + markerImageWithColor: |
创建默认标记图像的着色版本,以用作图标。 | |
属性 | |
CLLocationCoordinate2D | position |
标记位置。 | |
NSString * | 代码段 |
摘要文本,选择后,在信息窗口的标题下方显示。 | |
UIImage * | 图标 |
要渲染的标记图标。 | |
UIView * | iconView |
要渲染的标记视图。 | |
BOOL | tracksViewChanges |
控制是否应每一帧都重新绘制此标记的图标。 | |
BOOL | tracksInfoWindowChanges |
控制是否应每一帧都重新绘制此标记的信息窗口。 | |
CGPoint | GroundAnchor |
地面锚点指定图标图片中的点,该点锚定在地球表面上标记的位置。 | |
CGPoint | infoWindowAnchor |
信息窗口定位点用于指定图标图片中信息窗口的锚定点,该点将显示在此点的正上方。 | |
GMSMarkerAnimation | displayAnimation |
控制将该标记放置在GMSMapView上时使用的动画(默认为 kGMSMarkerAnimationNone,无动画)。 | |
BOOL | 可拖动 |
控制是否可以以交互方式拖动此标记(默认为“NO”)。 | |
BOOL | 平面 |
控制此标记是平贴地球表面的(是)还是广告牌朝向镜头的方向(否,默认为 )。 | |
CLLocationDegrees | 旋转 |
用于设置标记相对于标记的锚点顺时针旋转的角度(以度为单位)。 | |
浮点数 | 不透明度 |
设置标记的不透明度,介于 0(完全透明)和 1(默认值)之间,包括这两个数值。 | |
GMSMarkerLayer * | 层 |
提供该GMSMarker的核心动画层。 | |
GMSPanoramaView * | panoramaView |
panoramaView 指定将尝试显示此标记的全景视图。 | |
NSString * | title |
标题,叠加层的简短说明。 | |
GMSMapView * | map |
此叠加层所在的地图。 | |
BOOL | 可点按 |
此叠加层是否应引起点按通知。 | |
整数 | zIndex |
zIndex 值较高的叠加层将在 zIndex 值较低的图块层和叠加层之上绘制。 | |
id | userData |
叠加层数据。 |
成员函数文档
+ (instancetype) markerWithPosition: | (CLLocationCoordinate2D) | position |
默认标记的简便构造函数。
+ (UIImage *) markerImageWithColor: | (可为 null 的 UIColor *) | 颜色 |
创建默认标记图像的着色版本,以用作图标。
属性说明
- (CLLocationCoordinate2D) position [read, write, assign] |
标记位置。
动画。
- (UIImage*) 图标 [read, write, assign] |
要渲染的标记图标。
如果留空,则使用默认的 SDK 地点标记。
支持动画图片,但每个帧的大小必须相同,否则行为未定义。
支持使用 AlignmentRectInsets 来指定缩小的点按区域。这也重新定义了锚点的指定方式。对于动画图片,使用的是动画的值,而不是单个帧。
- (UIView*) iconView [read, write, assign] |
要渲染的标记视图。
如果为 nil,则改为回退到 icon
属性。
支持 UIView 的所有可添加动画效果的属性的动画(frame
和 center
除外)。不支持更改这些属性或其对应的 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
指定将尝试显示此标记的全景视图。
请注意,如果标记的 position
离 panoramaView
的当前全景图片位置太远,系统将不会显示该标记,因为它会过小。
可将标记设置为 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 对象的任何强引用,否则可能会创建保留循环(防止对象被释放)。