如何将不随地图移动的叠加层添加到GMSMapView?

时间:2017-07-17 03:16:59

标签: ios swift google-maps

我正在尝试在GMSMapView的中间添加一个十字准线。当用户平移时,十字准线不会随地图移动。它将与相机一起移动。

我查看了谷歌地图指南,但它似乎没有谈到我感兴趣的叠加层。它所说的只是添加叠加层和随地图移动的形状。

因此,我试图自己想出一些东西。我试图在故事板的地图视图顶部添加UIImageView。 (请注意,图像视图和地图视图都在故事板中,它们都是VC控制的view的直接子视图)

enter image description here

当我运行应用程序时,我没有在地图上的任何地方看到十字准线。我查看了UI层次结构并看到了这个:

enter image description here

小视图是带十字准线的图像视图,正如您所看到的,前面还有3个视图。我想这就是为什么十字准线没有表现出来的原因。这三个视图是从右到左:GMSVectorMapViewGMSUISettingsPaddingViewGMSUISettingsView

我不知道如何将图像视图放在前面。我试着通过调用bringSubview(toFront:)将它带到前面。我试图在viewDidLoadviewDidAppear中都这样说,但两次都没有做任何事情。

如何制作这样的叠加效果?

1 个答案:

答案 0 :(得分:2)

您可以使用zPosition来实现此目标

YourView.layer.zPosition = 1
通过这样做,您将视图的图层放在最前面的位置,而不是视图本身。因此,观点的位置不会发生变化。

self.view.bringSubview(toFront: YourView)

也应该有效,这可能是一个时间问题。