【问题标题】:Set a marker over all other markers in Google Maps SDK iOS在 Google Maps SDK iOS 中的所有其他标记上设置标记
【发布时间】:2013-05-24 09:34:39
【问题描述】:

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

这是我设置标记的代码部分,它位于其他标记后面:

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

结果如下:

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

【问题讨论】:

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


    【解决方案1】:

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

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

    只需在您的标记上设置一个较高的zIndex 即可将其绘制在所有其他标记之上。如属性文档here所述:

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

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

    yourGmsMarker.zIndex = 1;
    

    【讨论】:

    • 如果你想把一个标记放在另一个上面,把前面的 zIndex 放在 1 以下(比如 0.8),然后是 1.0
    猜你喜欢
    • 1970-01-01
    • 2012-06-19
    • 2016-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多