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?
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.
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.
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))
}
}