我是swift的新手,正在开发一款我正在使用Gogle Map SDK for iOS的应用。我使用了myLocationButton,它最初设置在右下角。我只是想改变它的位置。
我想将MyLocationButton放在地球按钮图像现在显示的位置。
提前致谢。
答案 0 :(得分:2)
Google Maps SDK for iOS提供了一些内置的UI控件,类似于Google Maps for iOS应用程序中的控件。每个控件具有相对于地图边缘的预定位置。您可以通过填充地图将控件移离边缘。 Google Map旨在填充GMSMapView定义的整个区域。要在地图中添加填充,请创建 UIEdgeInsets 对象并将其传递给 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;
答案 1 :(得分:1)
mapView.padding = UIEdgeInsets(top: 0, left: 0, bottom: 10, right:0)
Swift 3.0,更改按钮位置
答案 2 :(得分:0)
Swift 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 - 110 // Move the button 110 up
view.frame = frame
}
}
}
}
扩展以获取类名。
extension NSObject {
var theClassName: String {
return NSStringFromClass(self.dynamicType)
}
}
我会尽快将此代码更新为 Swift 3.0 。 :)
Swift 4.0:
public extension NSObject {
public var theClassName: String {
return NSStringFromClass(type(of: self))
}
}