route icon google gmsmarker custom change ios google-maps google-maps-markers center gmsmapview

icon - google maps swift ios



Icono de GMSMarker desde el centro(iOS) (2)

Descubrí cómo hacerlo después de leer la documentación de Google Maps muy de cerca. Creo que así es como se pretendía hacer.

UIImage *markerIcon = [UIImage imageNamed:@"markericon.png"]; markerIcon = [markerIcon imageWithAlignmentRectInsets:UIEdgeInsetsMake(0, 0, (markerIcon.size.height/2), 0)]; self.marker.icon = markerIcon;

Acabo de cambiar de Apple Maps a Google Maps. Un problema al que parece que no puedo encontrar una respuesta es cómo hacer que el ícono de un GMSMarker comience desde el centro en lugar de hacerlo desde la parte inferior de la imagen.

Un ejemplo de lo que quiero decir es que el ícono de punto de la ubicación actual comienza centrado en las coordenadas que debe expresar. Sin embargo, los iconos de GMSMarkers comienzan desde la parte inferior del icono.


Puede cambiar la posición de inicio de su icono de marcador con la propiedad groundAnchor .

Documentación del SDK de Google Maps para iOS :

El anclaje de tierra especifica el punto en la imagen del icono que está anclado a la posición del marcador en la superficie de la Tierra. Este punto se especifica dentro del espacio continuo [0.0, 1.0] x [0.0, 1.0], donde (0.0) es la esquina superior izquierda de la imagen, y (1.1) es la esquina inferior derecha.

Ejemplo :

El siguiente ejemplo rota el marcador 90 °. Establecer la propiedad groundAnchor en 0.5,0.5 hace que el marcador se gire alrededor de su centro, en lugar de su base.

CLLocationCoordinate2D position = CLLocationCoordinate2DMake(51.5, -0.127); CLLocationDegrees degrees = 90; GMSMarker *london = [GMSMarker markerWithPosition:position]; london.groundAnchor = CGPointMake(0.5, 0.5); london.rotation = degrees; london.map = mapView_;