Le nouveau SDK Google Maps for iOS dispose désormais d'un widget UI pour afficher une compas. Le seul problème est que je ne vois que des méthodes pour le basculer ou le désactiver. Savez-vous s'il est possible de changer sa position sur la carte? P>
https://developers.google.com/maps/documentation/ios/map#Compadpass.com a> p>
5 Réponses :
Il n'est pas possible de changer l'emplacement du bouton Compass. Veuillez déposer un Demande de fonctionnalité . P>
pas très orthodoxe mais cela fonctionne.
for (UIView *view in gmMapView.subviews) { NSRange isRange = [view.description rangeOfString:@"GMSCompassButton"]; if (isRange.location != NSNotFound) { CGRect frame = view.frame; frame.origin.y=55; frame.origin.x=gmMapView.frame.size.width/2; [view setFrame:frame]; } }
Cela ne fonctionne pas pour moi. J'ai vu le journal en imprimant les sous-espions, il n'y a pas d'article "GMSComPassButton".
Voici la dernière solution de contournement qui fonctionne avec SDK 1.5.
- (void)moveCompassButton:(GMSMapView *) map{ for(UIView *view in [map subviews]){ NSRange isRange = [view.description rangeOfString:@"GMSUISettingsView"]; if(isRange.location != NSNotFound){ for(UIView *subview in [view subviews]){ NSRange isRange2 = [subview.description rangeOfString:@"GMSCompassButton"]; if(isRange2.location != NSNotFound){ CGRect frame = view.frame; frame.origin.y = 55; frame.origin.x = map.frame.size.width/2 - 10; [view setFrame:frame]; } } } } }
La nouvelle version de Google Maps SDK 1.5 comprend une propriété Paddernière pour le GMSMapView. Il est maintenant possible de définir la zone dans laquelle des éléments d'interface utilisateur seront affichés. P>
-(void)viewDidAppear:(BOOL)animated{ mapView.padding = UIEdgeInsetsMake (64,0,0,0); } This Code It will move Compass Button downward in 64 pixel.