2

因此,我使用GMSSyncTileLayer的子类在 iOS 上的 Google Map 中添加了自定义图块叠加层。我遇到的问题是 Google 在地图上的本地标签(例如建筑物的名称、街道等)位于我的图块叠加层上方,并且在视觉上干扰了我的图块图像。我看到它GMSSyncTileLayer有一个zIndex属性,但这似乎只影响一个叠加层相对于另一个叠加层的位置,而不影响一个叠加层相对于本机地图文本的定位位置。

有什么方法可以将图块叠加到前面,甚至在本机地图文本的前面?如果没有,我将提交功能请求,但想先在这里检查一下我是否只是错过了一些东西。

4

2 回答 2

0

是的。

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

于 2013-06-10T08:59:45.247 回答
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
于 2013-06-09T11:24:48.577 回答