Подтвердить что ты не робот

Значок GMSMarker из центра (iOS)

Я только что переключился с Apple Maps на Google Maps. Проблема, по которой я не могу найти ответ, - это то, как вы создаете значок для запуска GMSMarker из центра, а не из нижней части изображения.

Примером того, что я имею в виду, является то, что текущий значок точки местоположения начинает центрироваться в координатах, которые он предназначен для выражения. Однако значки GMSMarkers начинаются со дна значка.

4b9b3361

Ответ 1

Вы можете изменить начальную позицию значка маркера с помощью свойства groundAnchor.

Карт Google Maps для документации iOS:

Подземный якорь указывает точку в изображении значка, который привязаны к положению маркера на поверхности Земли. Эта точка задается в непрерывном пространстве [0.0, 1.0] x [0.0, 1.0], где (0,0) - верхний левый угол изображения, а (1,1) - нижний правый угол.

Пример:

В приведенном ниже примере поворачивается маркер 90 °. Установка знака GroundAnchor свойство 0,5,0,5 заставляет маркер поворачиваться вокруг его центра, вместо его базы.

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_;

Ответ 2

Я понял, как это сделать, внимательно прочитав Документацию Google Maps. Я считаю, что именно так оно и должно было быть сделано.

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