【问题标题】:Google Maps iOS SDK - Add UIView/UIButton over a GMSMapViewGoogle Maps iOS SDK - 在 GMSMapView 上添加 UIView/UIButton
【发布时间】:2013-05-11 13:33:44
【问题描述】:

我正在使用带有情节提要的 Google Maps iOS SDK 开发 iOS 应用。 在“viewDidLoad”的主视图控制器上,我实现了一个 GMSMapView 并通过

self.view = mapView_;

一切顺利。现在我想在地图上添加一个 UIView 或 UIButton,比如 myLocation 按钮样式。有什么解决方案可以添加它并通过情节提要使用它吗?我已经通过代码在地图上覆盖了对象,但我真的需要自动布局,所以通过 Storyboard 管理它会很好。 谢谢。

【问题讨论】:

标签: ios overlay google-maps-sdk-ios


【解决方案1】:

试试这个 (确保将 mapView 框架设置为与 CGRectZero 不同的值(仅适用于 self.view=mapView)):

mapView = [GMSMapView mapWithFrame:self.view.bounds camera:camera];
[self.view insertSubview:mapView atIndex:0];

正如撒克逊所说,在索引 0 处插入视图会将其余对象设置在前面。

【讨论】:

  • 这行得通,@FabioM 检查答案,因为它是正确的
【解决方案2】:

实际上,这是在尝试了所有方法后对我有用的唯一方法

[self.view insertSubview:self.yourUIImageview aboveSubview:self.mapView]

祝你好运

【讨论】:

    【解决方案3】:

    您想要一个带有您自己的自定义图像的位置按钮吗?要不然是啥?您是否尝试过:mapview_.settings.myLocationButton = YES; 你能更具体一点你想要什么吗?我也在使用 GM SDK for iOS,所以也许我可以帮助你。

    【讨论】:

    • 这个作为评论比较合适。
    • 我想在地图上添加自定义用户界面对象,例如按钮或搜索栏。即谷歌地图官方iOS应用中的搜索栏和联系按钮。
    【解决方案4】:

    你可以试试这样的:

    [self.view insertSubview: mapView_ atIndex: 0];
    

    这会将地图作为根视图的子视图插入(而不是替换根视图),而将其他视图(即按钮等)留在原处。将其插入索引 0 会将其置于其他视图之下。

    【讨论】:

      【解决方案5】:

      将您的地图添加为子视图

       GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:coordinate.latitude longitude:coordinate.longitudeoom:6];
      
      mapView = [GMSMapView mapWithFrame:self.view.bounds camera:camera];[self.view insertSubview:mapView atIndex:0];
      

      现在您可以拖放任何您的 UIcontrol 按钮,文本字段,它将在地图视图上可见,或者您也可以像上面一样添加为子视图。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多