13

我正在尝试放置一个标记,但是当我这样做时,这个标记被放置在之前设置的一些标记之后(以及其他一些标记之上)。我想将它设置在所有标记上,但我没有找到任何属性(如 z-index)来实现这一点。

这是我将标记设置在其他标记后面的代码部分:

GMSMarker *marker = [[GMSMarker alloc] init];
marker.animated=YES;
marker.position = CLLocationCoordinate2DMake(lat, lon);
marker.map = mapView_;

这是结果:

绿色标记放置在一些蓝色标记之后和其他蓝色标记之上

是否有任何属性或方法可以将绿色标记放在所有蓝色标记上?我正在使用 Google Maps SDK 1.3.0 版。

4

1 回答 1

51

现在通过zIndex添加到GMSOverlay版本 1.4.0 中的类的属性来支持这一点。从发行说明

zIndex在所有叠加层上添加了一个属性。Z 索引按两组计算:GMSMarkers 和所有其他叠加层。

只需zIndex在您的标记上设置一个高点,即可将其绘制在所有其他标记之上。正如这里的财产文档所述:

较高zIndex值的叠加层将绘制在较低zIndex值的切片图层和叠加层之上。

标记的默认值zIndex0(至少在当前的 SDK 版本中 - 我没有看到它记录在案,但它很容易测试和确认),所以如果你没有zIndex为大多数标记设置并且有一个你想要超越所有其他人,您需要做的就是:

yourGmsMarker.zIndex = 1;
于 2013-09-28T12:21:29.273 回答