swift2 如何在swift中更改GoogleMap中myLocationButton的位置

unguejic  于 2022-11-06  发布在  Swift
关注(0)|答案(3)|浏览(192)

我是swift新手,正在制作一个应用程序,其中我使用了iOS版Gogle Map SDK。我使用了myLocationButton,它最初设置在右下角。我只是想更改它的位置。

我想将MyLocationButton放置在地球仪按钮图像当前显示的位置。
先谢谢你。

gwo2fgha

gwo2fgha1#

Google Maps SDK for iOS提供了一些内置的UI控件,这些控件与iOS版Google Maps应用程序中的控件类似。每个控件都有一个相对于Map边缘的预定位置。您可以通过填充Map来将控件从边缘移开。Google Map的设计目的是填充GMSMapView定义的整个区域。要在Map中添加填充,创建一个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;

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

bkkx9g8r

bkkx9g8r2#

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

Swift 3.0,更改按钮位置

kmynzznz

kmynzznz3#

雨燕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。:)

雨燕4.0:

public extension NSObject {
    public var theClassName: String {
        return NSStringFromClass(type(of: self))
    }
}

相关问题