web-dev-qa-db-fra.com

Comment changer l'emplacement du bouton d'emplacement dans google maps avec swift

 my location button

J'utilise Google Maps dans mon projet. Je souhaite afficher le bouton d'emplacement. Un peu plus haut, comment puis-je le faire en utilisant Swift?

13
amma teja

Vous pouvez modifier la position de MapControls en définissant le remplissage de la vue Carte.

 let mapView = GMSMapView()

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

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

Cela changera le remplissage du contrôle de mon emplacement. De bas en 50px et de droite 50px

Reportez-vous à la capture d'écran ci-dessous qui a ajouté le remplissage de 50px en bas et à droite.

 enter image description here

27
Subramanian

Comme Subramanian, cela fonctionne très bien:

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

C'est parfait si vous avez une barre de navigation dans votre application.

6
XenoX

Mise à jour pour Swift 4: il suffit de changer la position de mon bouton de position uniquement

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))
    }
}
0
Trọng Nghĩa Ngô