在Google Maps SDK iOS中为所有其他标记设置标记

时间:2013-05-29 08:07:48

标签: ios marker google-maps-sdk-ios

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

这是我设置标记的代码的一部分:

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

这就是结果:

Green marker is placed behind some blue markers and over other blue markers

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

1 个答案:

答案 0 :(得分:39)

现在通过在1.4.0版本中添加到zIndex类的GMSOverlay属性支持此功能。来自release notes

  

在所有叠加层上添加了zIndex属性。 Z-Indexes分为两组:GMSMarker s和所有其他叠加。

只需在标记上设置一个高zIndex即可将其绘制在所有其他标记之上。如财产文件here所述:

  

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

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

yourGmsMarker.zIndex = 1;