所以我使用GMSSyncTileLayer的子类在iOS上为Google地图添加了自定义图块叠加层。我遇到的问题是谷歌在地图上的原生标签(例如建筑物的名称,街道等等)正位于我的瓷砖覆盖层上方,并且在视觉上干扰了我的瓷砖图像。我看到GMSSyncTileLayer
具有zIndex
属性,但这似乎只影响一个叠加层相对于另一个叠加层的位置,而不是相对于原始贴图文本放置叠加层的位置。
是否有某种方法可以将瓷砖叠加层直接放在前面,即使在原生地图文本的前面?如果没有,我会提交一个功能请求,但是想先在这里查看我是否只是错过了什么。
答案 0 :(得分:0)
没有。内在的顺序是不可改变的,它是IIRC(!):
也许顺序不应该只是由zindex定义,而是由windows和mac和x-window上已知的东西控制为窗口级别
它定义了特定元素的基本索引是什么...... 例如这里有4个级别:
对于任何GMSOverlay,您都可以设置其级别。 如果没有指定,它将像现在一样。
GMSMarker *marker = [GMSMarker markerWithDefaults];
NSLog(@"%@", marker.overlayLevel);
==> '4' GMSOverlayLevelMarkers
marker.level = GMSOverlayLevelMap
NSLog(@"%@", marker.overlayLevel);
==> '4' GMSOverlayLevelMap
==> it would be behind text and overlays
答案 1 :(得分:0)
是
您可以使用[yourMapView setMapType:kGMSTypeNone]
停用背景地图。这也将提高您的叠加下载性能,因为后台磁贴未被下载。