web-dev-qa-db-ja.com

swiftを使用してGoogleマップの私の場所ボタンの場所を変更する方法

my location button

私は自分のプロジェクトでGoogleマップを使用していますが、Swiftを使用してそれを行うにはどうすればいいですか?

17
amma teja

MapControls の位置を変更するには、マップビューのパディングを設定します。

 let mapView = GMSMapView()

 mapView.isMyLocationEnabled = true
 mapView.settings.myLocationButton = true

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

それは私の位置制御のパディングを変更します。下から50px、右から50px

下と右から50pxのパディングを追加した以下のスクリーンショットを参照してください。

enter image description here

35
Subramanian P

Subramanianと同様に、これは非常にうまく機能します。

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

これは、アプリにナビゲーションバーがある場合に最適です。

6
XenoX

Swift 4の更新:ロケーションボタンの位置のみを変更します

for object in self.mapView.subviews{
            if(object.theClassName == "GMSUISettingsPaddingView"){
                for view in object.subviews{
                    if(view.theClassName == "GMSUISettingsView"){
                        for btn in view.subviews{
                            if(btn.theClassName == "GMSx_QTMButton"){
                                var frame = btn.frame
                                frame.Origin.y = frame.Origin.y - 100
                                btn.frame = frame

                            }
                        }
                    }
                }
            }
        }

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