Google Maps iOS SDK v1.3是否支持在本地地图文本前面的平铺覆盖?



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

是否有某种方法可以将平铺覆盖带到正前方,甚至在本地地图文本的前面?如果没有,我会提交一个功能请求,但我想先在这里检查一下,是否我只是错过了一些东西。

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

  • 覆盖
  • 标记

我对功能请求的想法:

也许顺序不应该仅仅由zindex来定义,而应该由windows、mac和x-window上的窗口级别

来控制。

它定义了特定元素的基索引是什么…例如,这里有4个级别:

  • 地图级别
  • <
  • 覆盖水平/gh><
  • 文本水平/gh><
  • 标记水平/gh>

的任何gmoverlay,你可以设置它的水平。如果没有指定,它将像现在一样工作。

GMSMarker *marker = [GMSMarker markerWithDefaults];
NSLog(@"%@", marker.overlayLevel);
==> '4' GMSOverlayLevelMarkers
marker.level = GMSOverlayLevelMap
NSLog(@"%@", marker.overlayLevel);
==> '4' GMSOverlayLevelMap
==> it would be behind text and overlays

可以。

您可以使用[yourMapView setMapType:kGMSTypeNone]禁用背景地图。这也会提高你的叠加下载性能,因为背景贴图不会被下载。

最新更新