2016-10-17 1 views
0

J'essaie de positionner mon marqueur personnalisé dans iOS (Objective-C) avec Google Maps.Marquage personnalisé de centrage GMSMapView

La vue de la carte s'affiche tout en fin avec le marqueur, cependant, le déplacement de la carte prendra le marqueur comme emplacement de récupération. Ce que je cherche, c'est l'avoir mis au centre du conteneur de la carte, qui récupérera alors les coordonnées de la carte et affichera dans la barre de recherche.

Je pense que je fais cela en sens inverse? J'ai ajouté le marqueur de client comme un UIImage du conteneur de carte mais il ne montre toujours pas. Dois-je obtenir l'emplacement à partir de la position du marqueur de carte, puis inverser l'adresse de géocodage à partir de là.

- (void)addPins:(float)lat andLng:(float)lng andName:(NSString*)strName withAddress:(NSString*)strAddr 
{ 
    // Creates a marker in the center of the map. 
    GMSMarker *marker = [[GMSMarker alloc] init]; 
    marker.position = CLLocationCoordinate2DMake(currentUserLocation.coordinate.latitude, currentUserLocation.coordinate.longitude); 

    NSLog(@"lat : %f, lng : %f", lat, lng); 

    marker.icon = [UIImage imageNamed:@"map_pin"]; 
    marker.title = strName; 
    marker.snippet = strAddr; 
    marker.appearAnimation = kGMSMarkerAnimationPop; 
    marker.map = mapView; 
} 

L'utilisateur doit pouvoir rechercher et définir son adresse, en plus de son emplacement actuel.

Merci

+0

Ma réponse vous a aidé ou non? Répondre à moi –

Répondre

0

Utilisez votre délégué MapView et utiliser le répondeur pour re-centrer votre NIP et le feu de votre recherche geocoordinate.

- (void)mapView:(MKMapView *)mapView regionWillChangeAnimated:(BOOL)animated 
- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated 

Edit: Si GMS Maps ne dispose pas de ces délégués, l'approche peut travailler avec l'aide de tout [mapView didUpdate] rappel qu'ils ont documenté.

0

Vous pouvez définir GMSCameraPosition pour centrer votre marqueur

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:"YOUR LATITUDE" 
                   longitude:"YOUR LONGITUDE" 
                    zoom:centerZoom]; 

"YOUT GMSMAPVIEW" = [GMSMapView mapWithFrame:"YOUR VIEW".bounds camera:camera]; 
+0

Hmm l'UIImage ne montre pas du tout, seulement sur l'emplacement actuel. Est-il préférable d'utiliser simplement l'image "map_pin" au-dessus du conteneur de la carte, car cela permettrait alors à un utilisateur ne permettant pas à l'emplacement de définir également une adresse? – user1668410

+0

Lorsque votre application s'exécute, cela vous mènera à votre marqueur et après cela, vous pouvez définir une broche n'importe où dans la carte pour obtenir l'emplacement ou vous pouvez utiliser Draggableannotationview pour faire glisser votre position de marqueur –