概览
标记是位于地图表面上特定点的图标。
标记的图标绘制时朝向设备屏幕(而不是地图表面)的方向;也就是说,标记的图标不一定会由于地图的旋转、倾斜或缩放而改变方向。
继承 GMSOverlay。
由 GMSAdvancedMarker 继承。
静态公开成员函数 | |
(实例类型) | + markerWithPosition: |
默认标记的便捷构造函数。 | |
(UIImage *) | + markerImageWithColor: |
创建默认标记图像的着色版本,以用作图标。 | |
属性 | |
CLLocationCoordinate2D | position |
标记位置。 | |
NSString * | 代码段 |
摘要文本,选中后会显示在信息窗口中标题的下方。 | |
界面图片 * | 图标 |
要渲染的标记图标。 | |
UIView * | iconView |
要渲染的标记视图。 | |
BOOL | tracksViewChanges |
控制是否应每帧重新绘制此标记的图标。 | |
BOOL | tracksInfoWindowChanges |
控制是否应每一帧重新绘制此标记的信息窗口。 | |
CGPoint | groundAnchor |
地锚用于指定图标图片中锚定在地球表面上标记位置的点。 | |
CGPoint | infoWindowAnchor |
信息窗口锚点用于指定图标图像中锚定信息窗口的点,该点将显示在此点的正上方。 | |
GMSMarkerAnimation | appearAnimation |
控制将该标记放置在GMSMapView上时使用的动画(默认为 kGMSMarkerAnimationNone,无动画)。 | |
BOOL | 可拖动 |
控制是否可以以交互方式拖动此标记(默认为“NO”)。 | |
BOOL | 平面 |
控制此标记是平贴地球表面的 (YES),还是朝向镜头的广告牌(否,默认)。 | |
CLLocationDegrees | 旋转 |
用于设置标记围绕标记的锚点顺时针旋转的角度(以度为单位)。 | |
float | 不透明度 |
设置标记的不透明度,介于 0(完全透明)和 1(默认)之间(包括 0 和 1)。 | |
GMSMarkerLayer * | 层 |
为此GMSMarker提供 Core Animation 图层。 | |
GMSPanoramaView * | panoramaView |
panoramaView 用于指定将尝试显示该标记的全景视图。 | |
NSString * | title |
标题,叠加层的简短说明。 | |
GMSMapView * | map |
此叠加层所在的地图。 | |
BOOL | 可点按 |
此叠加层是否应引起点按通知。 | |
int | zIndex |
zIndex 值较高的叠加层将在 zIndex 值较低的图块层和叠加层之上绘制。 | |
id | userData |
叠加层数据。 |
成员函数文档
+ (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 的所有可设置动画的属性(frame
和 center
除外)的动画。不支持更改这些属性或其对应的 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),还是朝向镜头的广告牌(否,默认)。
用于设置标记围绕标记的锚点顺时针旋转的角度(以度为单位)。
旋转轴垂直于标记。旋转值 0 对应于标记的默认位置。动画。
当地图上的标记为 Flat 标记时,默认位置为正北,而且旋转后该标记在地图上始终是平面。如果标记是广告牌,则默认位置为朝上,而且旋转时标记始终朝向镜头。
-(浮点数)不透明度 [read, write, assign] |
设置标记的不透明度,介于 0(完全透明)和 1(默认)之间(包括 0 和 1)。
- (GMSMarkerLayer*) 图层 [read, assign] |
为此GMSMarker提供 Core Animation 图层。
- (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 对象的任何强引用,否则可能会形成保留循环(阻止对象释放)。