我正在尝试放置一个标记,但是当我这样做时,这个标记放在之前设置的一些标记之后(以及其他一些标记)。我想将它设置在所有标记上,但我没有找到任何属性(如z-index)来实现这一点。
这是我设置标记的代码的一部分:
GMSMarker *marker = [[GMSMarker alloc] init];
marker.animated=YES;
marker.position = CLLocationCoordinate2DMake(lat, lon);
marker.map = mapView_;
这就是结果:
是否有任何属性或方法将绿色标记放在所有蓝色标记上?我正在使用Google Maps SDK 1.3.0版。
答案 0 :(得分:39)
现在通过在1.4.0版本中添加到zIndex
类的GMSOverlay
属性支持此功能。来自release notes:
在所有叠加层上添加了
zIndex
属性。 Z-Indexes分为两组:GMSMarker
s和所有其他叠加。
只需在标记上设置一个高zIndex
即可将其绘制在所有其他标记之上。如财产文件here所述:
较高的
zIndex
值叠加层将在较低的zIndex
值图块层和叠加层之上绘制。
标记的默认zIndex
是0
(至少在当前的SDK版本中 - 我没有看到它记录,但它很容易测试和确认),所以如果你是没有为大多数标记设置zIndex
,并且要将其放在所有其他标记之上,您需要做的就是:
yourGmsMarker.zIndex = 1;