Comment afficher une window d'informations dans iOS Maps Google sans appuyer sur Marker?

Je suis nouveau sur le développement iOS. Cela concerne la window d'information Marker dans le SDK Google Maps iOS.

Je comprends, nous pouvons créer un marqueur avec une window d'information en utilisant GMSMarkerOption.

GMSMarkerOption *myLocationOption = [GMSMarkerOption alloc]; myLocationOption .title = @"My Location"; myLocationOption .snippet = @"Lat:...., Lang:...."; [mapView addMarkerOption:myLocationOption]; 

Conformément au code ci-dessus, Marqueur s'affiche dans la vue Carte comme prévu. Et en tapant sur le marqueur affiche la window d'information "Ma position" dans Google Maps, ce qui est bon.

Y at-il de toute façon nous pouvons montrer la window d'information par programme quand l'user va à l'écran de carte personnalisé?

 GMSMarkerOptions *myLocationOptions = [GMSMarkerOptions options]; myLocationOptions.title = @"My Location"; myLocationOptions.snippet = @"Lat:...., Lang:...."; mapView.selectedMarker = [mapView addMarkerWithOptions:myLocationOptions]; 

(notez que c'est Options, pas Option)

Cela a changé sur Google Maps SDK et c'est plus facile à comprendre:

 GMSMarker *marker = [[GMSMarker alloc] init]; marker.position = coordinate; marker.title = @"Location selected"; marker.snippet = @"Testing"; marker.map = mapView_; //Show info window on map [mapView_ setSelectedMarker:marker]; 

Vous utilisez maintenant la méthode setSelectedMarker pour afficher une window d'information d'un marqueur

Swift 3.0

 func addMarker(_ location:CLLocation){ var locationMarker: GMSMarker! if locationMarker != nil { locationMarker.map = nil } locationMarker = GMSMarker(position: location.coordinate) locationMarker.map = mapView locationMarker.appearAnimation = kGMSMarkerAnimationPop locationMarker.icon = GMSMarker.markerImage(with: UIColor.green) locationMarker.opacity = 0.85 locationMarker.isFlat = true locationMarker.snippet = "My Location" mapView.selectedMarker=locationMarker } 

ci-dessous la ligne est la réponse

 mapView.selectedMarker=locationMarker 
  // Below line will shows the infowindow for marker with out tapping on it [mapView setSelectedMarker:myLocationOptions]; // myLocationOptions is your desired GMSMarker to show Infowindow with out tapping . 

Codage heureux 🙂

rapide 3

self.mapView.selectedMarker = marker

Dans le cas de swift 3, vous pouvez ouvrir le snipet utilisant le marqueur selectedMarker

Si vous créez le marqueur de la même manière que:

 marker.position = CLLocationCoordinate2D(latitude: 34.1331168, longitude: -118.3550723) marker.title = "My super place name" marker.snippet = "Are you looking a place to play? This is your place! " marker.appearAnimation = kGMSMarkerAnimationPop marker.map = self.mapView