2016-08-12 144 views
1

我是swift中的新成员,并且正在制作一个应用程序,在该应用程序中我使用的是iOS版的Gogle地图SDK。我已经使用myLocationButton,它最初设置在右下角。我只是想改变它的位置。如何在swift中更改Google地图的myLocationButton的位置

enter image description here

我想地方地球按钮图像现在显示MyLocationButton。

在此先感谢。

+0

非常感谢投票最多@Anbu – Harish

回答

2

Google Maps SDK for iOS提供了一些内置的UI控件,它们与Google Maps for iOS应用程序中的UI控件类似。每个控件都有一个相对于地图边缘的预定位置。通过填充地图,您可以将控件从边缘移开。 Google Map设计用于填充由GMSMapView定义的整个区域。要将填充添加到地图,请创建一个对象并将其传递给GMSMapView.padding属性。

// Insets are specified in this order: top, left, bottom, right 
UIEdgeInsets mapInsets = UIEdgeInsetsMake(100.0, 0.0, 0.0, 300.0); 
mapView.padding = mapInsets; 

欲了解更多信息,您可以检查此相关的SO问题2696836416879694

1

雨燕2.3:解决方案只移动位置按钮。我使用pod'GoogleMaps','〜> 2.1'。

for object in mapView.subviews { 
    if object.theClassName == "GMSUISettingsView" { 
     for view in object.subviews { 
      if view.theClassName == "GMSx_QTMButton" { 
       var frame = view.frame 
       frame.origin.y = frame.origin.y - 110px // Move the button 110 up 
       view.frame = frame 
      } 
     } 
    } 
} 

扩展名以获取类名。

extension NSObject { 
    var theClassName: String { 
    return NSStringFromClass(self.dynamicType) 
    } 
} 

我会尽快更新此代码雨燕3.0。 :)

+0

谢谢,但到现在为止不是为我工作 – Harish

+0

怎么能行吗? 对我来说它不起作用。谢谢 – kishor0011

+0

无法正常工作。只有宽度和高度会发生变化 –

0
mapView.padding = UIEdgeInsets(top: 0, left: 0, bottom: 10, right:0) 

雨燕3.0,改变位置的按钮

相关问题