Все готово!

Прежде чем приступить к разработке, ознакомьтесь с документацией для разработчиков.

Активация Google Maps SDK for iOS

Чтобы помочь вам освоиться, мы покажем, как выполнить некоторые необходимые действия в консоли разработчика Google:

  1. Создание или выбор проекта
  2. Активация Google Maps SDK for iOS
  3. Создание соответствующих ключей

Фигуры

Google Maps SDK for iOS предлагает простые способы добавления фигур на карты. Поддерживаются следующие фигуры:

  • Ломаная линия – серия соединенных сегментов линии, которые могут образовывать любую фигуру на ваш выбор и могут использоваться, чтобы отметить пути и маршруты на карте.
  • Многоугольник – замкнутая фигура, которая может использоваться, чтобы отметить области на карте.
  • Круг – географически точная проекция круга на земную поверхность.

Внешний вид любой фигуры можно изменить разными способами.

Ломаные линии

Ломаные линии позволяют прорисовывать линии на карте. Объект GMSPolyline представляет упорядоченную последовательность местоположений, которые отображаются в виде линии, состоящей из сегментов. Цвет ломаной линии можно установить с помощью свойства GMSStrokeStyle.

Чтобы построить ломаную линию, вам необходимо указать ее путь, создав соответствующий объект GMSMutablePath с двумя или более точками. Каждое значение CLLocationCoordinate2D представляет точку на земной поверхности. Сегменты линии прорисовываются между точками в том порядке, в котором они добавляются к этому пути. Для добавления точек к пути можно использовать методы addCoordinate: или addLatitude:longitude:.

Swift

let path = GMSMutablePath()
path.add(CLLocationCoordinate2D(latitude: -33.85, longitude: 151.20))
path.add(CLLocationCoordinate2D(latitude: -33.70, longitude: 151.40))
path.add(CLLocationCoordinate2D(latitude: -33.73, longitude: 151.41))
let polyline = GMSPolyline(path: path)

Objective-C

GMSMutablePath *path = [GMSMutablePath path];
[path addCoordinate:CLLocationCoordinate2DMake(-33.85, 151.20)];
[path addCoordinate:CLLocationCoordinate2DMake(-33.70, 151.40)];
[path addCoordinate:CLLocationCoordinate2DMake(-33.73, 151.41)];
GMSPolyline *polyline = [GMSPolyline polylineWithPath:path];

Добавление ломаной линии

  1. Создайте объект GMSMutablePath.
  2. Установите точки на пути, используя методы addCoordinate: или addLatitude:longitude:.
  3. Создайте новый объект GMSPolyline, используя путь в качестве аргумента.
  4. При необходимости установите другие параметры, такие как strokeWidth и strokeColor.
  5. Укажите свойство map для GMSPolyline.
  6. Ломаная линия отобразится на карте.

В следующем фрагменте кода показано, как добавлять на карту прямоугольник.

Swift

let path = GMSMutablePath()
path.add(CLLocationCoordinate2D(latitude: 37.36, longitude: -122.0))
path.add(CLLocationCoordinate2D(latitude: 37.45, longitude: -122.0))
path.add(CLLocationCoordinate2D(latitude: 37.45, longitude: -122.2))
path.add(CLLocationCoordinate2D(latitude: 37.36, longitude: -122.2))
path.add(CLLocationCoordinate2D(latitude: 37.36, longitude: -122.0))

let rectangle = GMSPolyline(path: path)
rectangle.map = mapView

Objective-C

GMSMutablePath *path = [GMSMutablePath path];
[path addCoordinate:CLLocationCoordinate2DMake(37.36, -122.0)];
[path addCoordinate:CLLocationCoordinate2DMake(37.45, -122.0)];
[path addCoordinate:CLLocationCoordinate2DMake(37.45, -122.2)];
[path addCoordinate:CLLocationCoordinate2DMake(37.36, -122.2)];
[path addCoordinate:CLLocationCoordinate2DMake(37.36, -122.0)];

GMSPolyline *rectangle = [GMSPolyline polylineWithPath:path];
rectangle.map = mapView;

Прямоугольная ломаная линия

Удаление ломаной линии

Чтобы удалить ломаную линию с карты, установите для своего объекта GMSPolyline в свойстве map значение nil. В качестве альтернативы можно удалить все наложения (включая ломаные линии и другие фигуры), которые в настоящий момент имеются на карте, вызвав в представлении GMSMapView метод clear.

Swift

let camera = GMSCameraPosition.camera(withLatitude: -33.8683,
                                      longitude: 151.2086,
                                      zoom:12)
let mapView = GMSMapView.map(withFrame: self.view.bounds, camera: camera)
...
mapView.clear()

Objective-C

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.8683
                                                        longitude:151.2086
                                                             zoom:12];
mapView = [GMSMapView mapWithFrame:self.view.bounds camera:camera];
...
[mapView clear];

Если вам необходимо изменить или удалить ломаную линию после ее добавления на карту, убедитесь в наличии привязки к объекту GMSPolyline. Эту ломаную линию можно изменить позже, внеся изменения в этот объект.

Swift

let polyline = GMSPolyline(path: path)
polyline.map = mapView
...
polyline.strokeColor = .black

Objective-C

GMSPolyline *polyline = [GMSPolyline polylineWithPath:path];
polyline.map = mapView;
...
polyline.strokeColor = [UIColor blackColor];

Настройка ломаной линии

Объект GMSPolyline предоставляет несколько свойств, используя которые можно изменять внешний вид линии. Поддерживаются следующие параметры:

strokeWidth
Ширина всей линии в точках на экране. Значение по умолчанию равно 1. Эта ширина остается постоянной при изменении масштаба карты.
geodesic
Если установлено значение YES, этот край ломаной линии будет создан как геодезический сегмент. Геодезические сегменты указывают самый короткий маршрут на земной поверхности и могут отображаться как кривые линии на карте с проекцией Меркатора. Негеодезические сегменты на карте прорисовываются в виде прямых линий. По умолчанию установлено NO.
spans
Используется для обозначения цвета одного или нескольких сегментов ломаной линии. Свойство spans является массивом для объектов GMSStyleSpan . Установка свойства spans является предпочтительным способом изменить цвет ломаной линии.
strokeColor
Объект UIColor, указывающий цвет ломаной линии. По умолчанию установлено blueColor. Свойство strokeColor не принимается во внимание, если установлено spans.

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

Swift

let path = GMSMutablePath()
path.addLatitude(-37.81319, longitude: 144.96298)
path.addLatitude(-31.95285, longitude: 115.85734)
let polyline = GMSPolyline(path: path)
polyline.strokeWidth = 10.0
polyline.geodesic = true
polyline.map = mapView

Objective-C

GMSMutablePath *path = [GMSMutablePath path];
[path addLatitude:-37.81319 longitude:144.96298];
[path addLatitude:-31.95285 longitude:115.85734];
GMSPolyline *polyline = [GMSPolyline polylineWithPath:path];
polyline.strokeWidth = 10.f;
polyline.geodesic = YES;
polyline.map = mapView;

Чтобы изменить ломаную линию после ее добавления на карту, убедитесь в наличии привязки к объекту GMSPolyline.

Swift

let polyline = GMSPolyline(path: path)
polyline.map = mapView
...
polyline.strokeColor = .blue

Objective-C

GMSPolyline *polyline = [GMSPolyline polylineWithPath:path];
polyline.map = mapView;
...
polyline.strokeColor = [UIColor blueColor];

Изменение цвета ломаной линии

Ломаные линии отображаются на карте в виде серии сегментов. Чтобы изменить цвет отдельных сегментов или всей линии, можно использовать свойство spans. И хотя это свойство обеспечивает возможность полного изменения цвета ломаной линии, существуют дополнительные способы, упрощающие применение отдельного стиля ко всей линии.

В приведенном ниже фрагменте показано, как использовать метод spanWithColor:, чтобы изменить цвет всей линии на красный.

Swift

polyline.spans = [GMSStyleSpan(color: .red)]

Objective-C

polyline.spans = @[[GMSStyleSpan spanWithColor:[UIColor redColor]]];

В качестве альтернативы, если у вас уже есть доступ к объекту GMSStrokeStyle, можете использовать метод spanWithStyle:.

Swift

let solidRed = GMSStrokeStyle.solidColor(.red)
polyline.spans = [GMSStyleSpan(style: solidRed)]

Objective-C

GMSStrokeStyle *solidRed = [GMSStrokeStyle solidColor:[UIColor redColor]];
polyline.spans = @[[GMSStyleSpan spanWithStyle:solidRed]];

В Google Maps SDK for iOS версии до 1.7 было доступно отдельное свойство strokeColor, позволяющее указать весь цвет для объекта GMSPolyline. Свойство spans имеет преимущественную силу над strokeColor.

Swift

polyline.strokeColor = .red

Objective-C

polyline.strokeColor = [UIColor redColor];

Стили

Если в вашем приложении один и тот же цвет штриха применяется несколько раз, для удобства можно определить стиль для многократного использования. Стили ломаной линии указываются с использованием объекта GMSStrokeStyle. Стиль штриха может представлять собой либо сплошной цвет, либо плавный переход от одного цвета к другому. После создания стиля его можно применить к объекту GMSStyleSpan с помощью метода spanWithStyle:.

Swift

// Create two styles: one that is solid blue, and one that is a gradient from red to yellow
let solidBlue = GMSStrokeStyle.solidColor(.blue)
let solidBlueSpan = GMSStyleSpan(style: solidBlue)
let redYellow =
  GMSStrokeStyle.gradient(from: .red, to: .yellow)
let redYellowSpan = GMSStyleSpan(style: redYellow)

Objective-C

// Create two styles: one that is solid blue, and one that is a gradient from red to yellow
GMSStrokeStyle *solidBlue = [GMSStrokeStyle solidColor:[UIColor blueColor]];
GMSStyleSpan *solidBlueSpan = [GMSStyleSpan spanWithStyle:solidBlue];
GMSStrokeStyle *redYellow =
    [GMSStrokeStyle gradientFromColor:[UIColor redColor] toColor:[UIColor yellowColor]];
GMSStyleSpan *redYellowSpan = [GMSStyleSpan spanWithStyle:redYellow];

Стиль свойства span будет использован до конца ломаной линии, либо до установки нового стиля. Чтобы изменить цвет всей линии, можно установить свойство spans ломаной линии для отдельного объекта GMSStyleSpan. В приведенном ниже фрагменте показано, как применить постепенный переход цвета по всей длине ломаной линии.

Swift

let polyline = GMSPolyline(path: path)
let redYellow =
  GMSStrokeStyle.gradient(from: .red, to: .yellow)
polyline.spans = [GMSStyleSpan(style: redYellow)]

Objective-C

GMSPolyline *polyline = [GMSPolyline polylineWithPath:path];
GMSStrokeStyle *redYellow =
    [GMSStrokeStyle gradientFromColor:[UIColor redColor] toColor:[UIColor yellowColor]];
polyline.spans = @[[GMSStyleSpan spanWithStyle:redYellow]];

Изменение цвета отдельных сегментов линии

Если вы хотите применить отдельный стиль для каждого сегмента ломаной линии, это можно сделать, создав массив объектов GMSStyleSpan и передав его в свойство spans. По умолчанию каждому элементу массива будет присвоен цвет соответствующего сегмента линии. Если в массиве содержится больше элементов, чем сегментов в линии, лишние элементы учитываться не будут. Если в массиве меньше элементов, окончательный стиль GMSStyleSpan укажет цвет для оставшейся части линии.

Вы можете использовать цветовые блоки или ломаные линии с плавным переходом цвета, чтобы указать изменения на вашей ломаной линии, например, по высоте или по скоростным ограничениям. В приведенном ниже фрагменте показано, как устанавливать красный цвет для первых двух сегментов ломаной линии, а для оставшейся части – плавный переход от красного к желтому.

Swift

let polyline = GMSPolyline(path: path)
let solidRed = GMSStrokeStyle.solidColor(.red)
let redYellow =
    GMSStrokeStyle.gradient(from: .red, to: .yellow)
polyline.spans = [GMSStyleSpan(style: solidRed),
                  GMSStyleSpan(style: solidRed),
                  GMSStyleSpan(style: redYellow)]

Objective-C

GMSPolyline *polyline = [GMSPolyline polylineWithPath:path];
GMSStrokeStyle *solidRed = [GMSStrokeStyle solidColor:[UIColor redColor]];
GMSStrokeStyle *redYellow =
    [GMSStrokeStyle gradientFromColor:[UIColor redColor] toColor:[UIColor yellowColor]];
polyline.spans = @[[GMSStyleSpan spanWithStyle:solidRed],
                   [GMSStyleSpan spanWithStyle:solidRed],
                   [GMSStyleSpan spanWithStyle:redYellow]];

Вы можете использовать метод spanWithStyle:segments:, чтобы указать стиль сразу для нескольких сегментов. Например, следующий код равнозначен приведенному выше. Длина сегмента в окончательном объекте GMSStyleSpan никогда не учитывается, так как этот стиль будет использоваться для описания всей оставшейся части линии.

Swift

polyline.spans = [GMSStyleSpan(style: solidRed, segments:2),
                  GMSStyleSpan(style: redYellow, segments:10)]

Objective-C

polyline.spans = @[[GMSStyleSpan spanWithStyle:solidRed segments:2],
                   [GMSStyleSpan spanWithStyle:redYellow segments:10]];

Сегменты с дробными значениями

Сегменты также могут быть указаны в виде дробного значения. Это позволит применить стиль к дробному числу сегментов, что теоретически приведет к разделению в отдельном сегменте. Каждый стиль GMSStyleSpan применяется непосредственно сразу после предыдущего: в приведенном ниже примере серый цвет будет начинаться с середины (½) второго сегмента и продолжаться до середины (½) третьего сегмента.

Swift

polyline.spans = [GMSStyleSpan(style: solidRed, segments: 2.5),
                  GMSStyleSpan(color: .gray),
                  GMSStyleSpan(color: .purple, segments: 0.75),
                  GMSStyleSpan(style: redYellow)]

Objective-C

polyline.spans = @[[GMSStyleSpan spanWithStyle:solidRed segments:2.5],
                   [GMSStyleSpan spanWithColor:[UIColor grayColor],
                   [GMSStyleSpan spanWithColor:[UIColor purpleColor] segments:0.75,
                   [GMSStyleSpan spanWithStyle:redYellow]];

Добавление повторяющегося шаблона цвета к ломаной линии

Чтобы добавить какой-то шаблон к ломаной линии, можно использовать метод служебной программы GMSStyleSpans в GMSGeometryUtils. Метод GMSStyleSpans может принимать два массива, которые определяют повторяющийся шаблон. Один массив устанавливает стили, которые должны повторяться, а другой определяет периодичность этого повторения. Используя их вместе, вы можете создать шаблон, который можно применить к любой ломаной линии независимо от ее длины или числа доступных сегментов.

Например, в приведенном ниже фрагменте кода ломаная линия определяется с использованием изменяемого черно-белого шаблона. Значения ее длин обрабатываются как метры вдоль дугообразной линии (в проекции Меркатора это прямая линия), поскольку тип указан как kGMSLengthRhumb.

Swift

let styles = [GMSStrokeStyle.solidColor(.white),
              GMSStrokeStyle.solidColor(.black)]
let lengths: [NSNumber] = [100000, 50000]
polyline.spans = GMSStyleSpans(polyline.path!, styles, lengths, kGMSLengthRhumb)

Objective-C

NSArray *styles = @[[GMSStrokeStyle solidColor:[UIColor whiteColor]],
                    [GMSStrokeStyle solidColor:[UIColor blackColor]]];
NSArray *lengths = @[@100000, @50000];
polyline.spans = GMSStyleSpans(polyline.path, styles, lengths, kGMSLengthRhumb);

Многоугольники

Многоугольники похожи на ломаные линии тем, что состоят из серии координат в упорядоченной последовательности. Тем не менее, вместо того, чтобы иметь вид незамкнутой фигуры, многоугольники предназначены для обозначения регионов с цветовым заполнением в пределах замкнутого контура. Многоугольники определяются в Google Maps SDK for iOS классом GMSPolygon .

Чтобы добавить многоугольник (объект GMSPolygon) на карту, можно использовать тот же способ, что и для добавления объекта ломанной линии (GMSPolyline). Сначала укажите его путь, создав соответствующий объект GMSMutablePath и добавив в него точки. Эти точки будут формировать внешний контур многоугольника. Каждое значениеCLLocationCoordinate2D представляет точку на земной поверхности. Сегменты линии прорисовываются между точками в том порядке, в котором они добавляются к пути.

Добавление многоугольника

  1. Создайте объект GMSMutablePath.
  2. Установите точки на пути, используя методы addCoordinate: или addLatitude:longitude:. Эти точки будут формировать внешний контур многоугольника.
  3. Создайте новый объект GMSPolygon, используя путь в качестве аргумента.
  4. При необходимости установите другие параметры, такие как strokeWidth, strokeColor и fillColor.
  5. Назначьте многоугольник объекту GMSMapView, установив свойство GMSPolygon.map.
  6. Ломаная линия отобразится на карте.

В следующем фрагменте кода показано, как добавлять прямоугольник на карту.

Swift

// Create a rectangular path
let rect = GMSMutablePath()
rect.add(CLLocationCoordinate2D(latitude: 37.36, longitude: -122.0))
rect.add(CLLocationCoordinate2D(latitude: 37.45, longitude: -122.0))
rect.add(CLLocationCoordinate2D(latitude: 37.45, longitude: -122.2))
rect.add(CLLocationCoordinate2D(latitude: 37.36, longitude: -122.2))

// Create the polygon, and assign it to the map.
let polygon = GMSPolygon(path: rect)
polygon.fillColor = UIColor(red: 0.25, green: 0, blue: 0, alpha: 0.05);
polygon.strokeColor = .black
polygon.strokeWidth = 2
polygon.map = mapView

Objective-C

// Create a rectangular path
GMSMutablePath *rect = [GMSMutablePath path];
[rect addCoordinate:CLLocationCoordinate2DMake(37.36, -122.0)];
[rect addCoordinate:CLLocationCoordinate2DMake(37.45, -122.0)];
[rect addCoordinate:CLLocationCoordinate2DMake(37.45, -122.2)];
[rect addCoordinate:CLLocationCoordinate2DMake(37.36, -122.2)];

// Create the polygon, and assign it to the map.
GMSPolygon *polygon = [GMSPolygon polygonWithPath:rect];
polygon.fillColor = [UIColor colorWithRed:0.25 green:0 blue:0 alpha:0.05];
polygon.strokeColor = [UIColor blackColor];
polygon.strokeWidth = 2;
polygon.map = mapView;

Вы можете изменить внешний вид многоугольника либо до, либо после его добавления на карту.

Круги

Помимо общего класса GMSPolygon, Google Maps SDK for iOS также содержит класс GMSCircle, который позволяет легко рисовать круги на земной поверхности.

Для создания круга необходимо указать следующие два свойства:

  • его центр (свойство position) в виде координат CLLocationCoordinate2D;
  • его радиус (свойство radius) в метрах.

Затем круг определяется как набор всех точек на земной поверхности, которые находятся на расстоянии, не превышающем заданное число метров (radius) от указанного центра круга (center). Поскольку проекция Меркатора, используемая Maps API, проецирует сферу на плоскую поверхность, на карте это будет отображаться в виде практически идеального круга в случае расположения возле экватора, и в виде объекта все менее круглой формы (на экране) по мере удаления от экватора.

Добавление круга

В приведенном ниже фрагменте кода показано, как добавлять круг на карту:

Swift

let circleCenter = CLLocationCoordinate2D(latitude: 37.35, longitude: -122.0)
let circ = GMSCircle(position: circleCenter, radius: 1000)
circ.map = mapView

Objective-C

CLLocationCoordinate2D circleCenter = CLLocationCoordinate2DMake(37.35, -122.0);
GMSCircle *circ = [GMSCircle circleWithPosition:circleCenter
                                         radius:1000];
circ.map = mapView;

Вы можете изменить внешний вид круга либо до, либо после его добавления на карту.

Изменение круга

Чтобы указать собственные цвета и ширину штрихов, можно изменить свойства GMSCircle. Поддерживаются следующие параметры:

fillColor
Объект UIColor, указывающий цвет внутренней части круга. По умолчанию установлен прозрачный.
strokeColor
Объект UIColor, указывающий цвет внешнего контура круга. По умолчанию установлено blackColor.
strokeWidth
Толщина внешнего контура в точках на экране. Значение по умолчанию равно 1. Эта толщина остается постоянной при изменении масштаба карты.

В следующем фрагменте показано, как добавить красный круг с толстыми линиями и полупрозрачной красной внутренней частью.

Swift

let circleCenter = CLLocationCoordinate2D(latitude: 37.35, longitude: -122.0)
let circ = GMSCircle(position: circleCenter, radius: 1000)

circ.fillColor = UIColor(red: 0,35, green: 0, blue: 0, alpha: 0.05)
circ.strokeColor = .red
circ.strokeWidth = 5
circ.map = mapView

Objective-C

CLLocationCoordinate2D circleCenter = CLLocationCoordinate2DMake(37.35, -122.0);
GMSCircle *circ = [GMSCircle circleWithPosition:circleCenter
                                         radius:1000];

circ.fillColor = [UIColor colorWithRed:0.25 green:0 blue:0 alpha:0.05];
circ.strokeColor = [UIColor redColor];
circ.strokeWidth = 5;
circ.map = mapView;

Создание незаполненного многоугольника

Несколько путей можно объединять в один объект GMSPolygon и создавать сложные фигуры, такие как кольца, в которых многоугольные области находятся внутри многоугольника в виде отдельных фигур. Сложные фигуры представляют собой сочетание нескольких путей.

Создайте многоугольник с путем, который определяет наибольшую площадь, покрываемую многоугольником. Затем укажите свойство holes многоугольника как массив из одного или нескольких объектов GMSPath, которые определяют отверстия внутри многоугольника.

Если меньший путь полностью заключен внутри большего пути, это выглядит, как если бы часть многоугольника была удалена.

Следующий пример кода демонстрирует создание многоугольника с двумя отверстиями:

Swift

override func loadView() {
  let hydeParkLocation = CLLocationCoordinate2D(latitude: -33.87344, longitude: 151.21135)
  let camera = GMSCameraPosition.camera(withTarget: hydeParkLocation, zoom: 16)
  let mapView = GMSMapView.map(withFrame: .zero, camera: camera)
  mapView.animate(to: camera)

  let hydePark = "tpwmEkd|y[QVe@Pk@BsHe@mGc@iNaAKMaBIYIq@qAMo@Eo@@[Fe@DoALu@HUb@c@XUZS^ELGxOhAd@@ZB`@J^BhFRlBN\\BZ@`AFrATAJAR?rAE\\C~BIpD"
  let archibaldFountain = "tlvmEqq|y[NNCXSJQOB[TI"
  let reflectionPool = "bewmEwk|y[Dm@zAPEj@{AO"

  let polygon = GMSPolygon()
  polygon.path = GMSPath(fromEncodedPath: hydePark)
  polygon.holes = [GMSPath(fromEncodedPath: archibaldFountain)!, GMSPath(fromEncodedPath: reflectionPool)!]
  polygon.fillColor = UIColor(colorLiteralRed: 1.0, green: 0.0, blue: 0.0, alpha: 0.2)
  polygon.strokeColor = UIColor(colorLiteralRed: 1.0, green: 0.0, blue: 0.0, alpha: 1.0)
  polygon.strokeWidth = 2
  polygon.map = mapView
  view = mapView
}

Objective-C

- (void)loadView {
  CLLocationCoordinate2D hydeParkLocation = CLLocationCoordinate2DMake(-33.87344, 151.21135);
  GMSCameraPosition *camera = [GMSCameraPosition cameraWithTarget:hydeParkLocation
                                                             zoom:16];
  _mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];

  NSString *hydePark = @"tpwmEkd|y[QVe@Pk@BsHe@mGc@iNaAKMaBIYIq@qAMo@Eo@@[Fe@DoALu@HUb@c@XUZS^ELGxOhAd@@ZB`@J^BhFRlBN\\BZ@`AFrATAJAR?rAE\\C~BIpD";
  NSString *archibaldFountain = @"tlvmEqq|y[NNCXSJQOB[TI";
  NSString *reflectionPool = @"bewmEwk|y[Dm@zAPEj@{AO";

  GMSPolygon *polygon = [[GMSPolygon alloc] init];
  polygon.path = [GMSPath pathFromEncodedPath:hydePark];
  polygon.holes = @[[GMSPath pathFromEncodedPath:archibaldFountain],
                    [GMSPath pathFromEncodedPath:reflectionPool]];
  polygon.fillColor = [UIColor colorWithRed:1.0 green:0.0 blue:0.0 alpha:0.2];
  polygon.strokeColor = [UIColor colorWithRed:1.0 green:0.0 blue:0.0 alpha:1.0];
  polygon.strokeWidth = 2;
  polygon.map = _mapView;
  self.view = _mapView;
}

Оставить отзыв о...

Текущей странице
Google Maps SDK for iOS
Google Maps SDK for iOS
Нужна помощь? Обратитесь в службу поддержки.