Ios 如何将不随地图移动的覆盖添加到GMSMapView?
我尝试在代码<> GMSMAPVIEW/COD>中间添加十字准线。当用户平移地图时,十字线不会随地图移动。它会随着相机移动 我看了谷歌地图指南,但它似乎没有谈到我感兴趣的那种覆盖。它所说的只是添加随地图移动的覆盖和形状 因此,我试着自己想办法。我试图在故事板的地图视图顶部添加一个Ios 如何将不随地图移动的覆盖添加到GMSMapView?,ios,swift,google-maps,Ios,Swift,Google Maps,我尝试在代码 GMSMAPVIEW/COD>中间添加十字准线。当用户平移地图时,十字线不会随地图移动。它会随着相机移动 我看了谷歌地图指南,但它似乎没有谈到我感兴趣的那种覆盖。它所说的只是添加随地图移动的覆盖和形状 因此,我试着自己想办法。我试图在故事板的地图视图顶部添加一个UIImageView。(请注意,图像视图和地图视图都在故事板中,它们都是VC控制的视图的直接子视图) 当我运行应用程序时,我没有在地图上的任何地方看到十字线。我查看了UI层次结构,看到了以下内容: 小视图是带有十字线的
UIImageView
。(请注意,图像视图和地图视图都在故事板中,它们都是VC控制的视图
的直接子视图)
当我运行应用程序时,我没有在地图上的任何地方看到十字线。我查看了UI层次结构,看到了以下内容:
小视图是带有十字线的图像视图,如您所见,前面还有3个视图。我想这就是为什么十字准线没有显示出来。这三个视图从右到左依次为:GMSVectorMapView
、GMSUISettingsPaddingView
和GMSUISettingsView
我不知道如何将图像视图带到前面。我试着通过调用bringSubview(toFront:)
将它带到前台。我试图在viewDidLoad
和viewDidAppear
中调用它,但这两次都没有任何效果
我如何才能使这样的覆盖工作?您可以使用zPosition来实现这一点
YourView.layer.zPosition = 1
通过这样做,您将把视图的图层放在最前面的位置,而不是视图本身。所以视图的位置不会改变
self.view.bringSubview(toFront: YourView)
也应该可以,这可能是时间问题。太好了!成功了!然而,你的回答目前看起来像是一个评论。你能补充一点解释来解释为什么这样做有效,但是使用
bringSubview(toFront:)
不行吗?我不认为这是一个时间问题。我试着按下按钮来触发呼叫。我按下按钮后,一切都是加载,但它没有做任何事情。你认为我应该什么时候调用它?你能用树显示代码示例和视图层次结构吗?这里是repo:Crosshair应该是self.view的子视图,而不是地图