Google Maps iOS SDK v1.3是否支持在原生地图文本前添加切片叠加层?

时间:2013-06-09 07:28:52

标签: google-maps-sdk-ios

所以我使用GMSSyncTileLayer的子类在iOS上为Google地图添加了自定义图块叠加层。我遇到的问题是谷歌在地图上的原生标签(例如建筑物的名称,街道等等)正位于我的瓷砖覆盖层上方,并且在视觉上干扰了我的瓷砖图像。我看到GMSSyncTileLayer具有zIndex属性,但这似乎只影响一个叠加层相对于另一个叠加层的位置,而不是相对于原始贴图文本放置叠加层的位置。

是否有某种方法可以将瓷砖叠加层直接放在前面,即使在原生地图文本的前面?如果没有,我会提交一个功能请求,但是想先在这里查看我是否只是错过了什么。

2 个答案:

答案 0 :(得分:0)

没有。内在的顺序是不可改变的,它是IIRC(!):

  • 地图
  • 覆盖
  • 文本
  • markers

我对功能请求的想法:

也许顺序不应该只是由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]停用背景地图。这也将提高您的叠加下载性能,因为后台磁贴未被下载。