在Google地图SDK iOS中的所有其他标记上设置一个标记

我试图放置一个标记,但是当我这样做的时候,这个标记放置在之前(以及其他一些标记)之前的一些标记之后。 我想把它设置在所有的标记,但我没有find任何属性(如Z指数)来实现这一点。

这是代码的一部分,我设置的标记留在其他人的后面:

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

这是结果:

绿色标记位于一些蓝色标记之后,并位于其他蓝色标记之后

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

现在,通过在版本1.4.0中添加到GMSOverlay类中的zIndex属性支持此function。 从发行说明 :

在所有叠加层上添加了一个zIndex属性。 Z-索引计算分两组: GMSMarker和所有其他覆盖。

只需在您的标记上设置一个高zIndex ,使其在所有其他上绘制。 正如在这里的财产文件所述:

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

标记的默认zIndex0 (至less在当前SDK版本中 – 我没有看到它的logging,但很容易testing和确认),所以如果你没有设置大多数标记的zIndex ,一个你想放在其他所有人之上,你所需要做的就是:

 yourGmsMarker.zIndex = 1;