Anda sudah siap!

Untuk mulai mengembangkan, masuklah ke dokumentasi developer kami.

Aktifkan Google Maps SDK for iOS

Untuk membantu Anda memulai, kami akan memandu Anda melalui Google Developers Console untuk melakukan beberapa hal terlebih dahulu:

  1. Buat atau pilih sebuah proyek
  2. Aktifkan Google Maps SDK for iOS
  3. Buat kunci yang sesuai
Lanjutkan

Bentuk

Google Maps SDK for iOS menawarkan beberapa cara sederhana untuk menambahkan bentuk ke peta Anda. Bentuk berikut ini telah didukung:

  • Polyline adalah serangkaian segmen garis terhubung yang bisa membuat bentuk apa saja yang Anda inginkan dan bisa digunakan untuk menandai jalur dan rute pada peta.
  • Poligon adalah bentuk tertutup yang bisa digunakan untuk menandai area pada peta.
  • Lingkaran adalah proyeksi geografis akurat dari lingkaran pada permukaan bumi.

Anda bisa memodifikasi penampilan setiap bentuk dalam beberapa cara.

Polyline

Polyline memungkinkan Anda menggambar garis pada peta. Objek GMSPolyline yang menyatakan rangkaian urutan lokasi, ditampilkan sebagai serangkaian segmen garis. Anda bisa menyetel warna polyline dengan GMSStrokeStyle.

Untuk membuat polyline, Anda harus menetapkan jalur dengan membuat sebuah objek GMSMutablePath yang sesuai dengan dua atau beberapa titik. Masing-masing CLLocationCoordinate2D menyatakan sebuah titik pada permukaan bumi. Segmen garis digambar di antara titik sesuai dengan urutan Anda menambahkannya pada jalur. Anda bisa menambahkan titik ke jalur dengan metode addCoordinate: atau 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];

Menambahkan polyline

  1. Buat objek GMSMutablePath.
  2. Setel titik di jalur dengan metode addCoordinate: atau addLatitude:longitude:.
  3. Buat instance objek GMSPolyline baru dengan menggunakan jalur sebagai argumen.
  4. Setel properti lain, seperti strokeWidth dan strokeColor, sebagaimana diinginkan.
  5. Setel properti map dari GMSPolyline.
  6. Polyline akan muncul pada peta.

Cuplikan kode berikut menambahkan persegi panjang ke peta:

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;

Polyline persegi panjang

Membuang polyline

Anda bisa membuang polyline dari peta dengan menyetel properti GMSPolyline map ke nil. Sebagai alternatif, Anda bisa membuang semua overlay (termasuk polyline dan bentuk lainnya) saat ini pada peta dengan memanggil metode 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];

Jika ingin memodifikasi polyline setelah menambahkannya ke peta, pastikan Anda mempertahankan objek GMSPolyline. Anda bisa memodifikasi polyline tersebut nanti dengan membuat perubahan pada objek ini.

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

Menyesuaikan polyline

Objek GMSPolyline menyediakan beberapa properti untuk mengontrol penampilan garis tersebut. Ini mendukung opsi berikut:

strokeWidth
Lebar seluruh baris, dalam titik layar. Default-nya adalah 1. Lebar tidak diskalakan bila peta di-zoom.
geodesic
Bila YES, render tepi polyline ini sebagai geodesi. Segmen geodesi mengikuti jalur terpendek sepanjang permukaan bumi dan bisa muncul sebagai garis melengkung pada peta dengan proyeksi Mercator. Segmen non-geodesi digambar sebagai garis lurus pada peta. Default-nya adalah NO.
spans
Digunakan untuk menetapkan warna salah satu atau beberapa segmen polyline. Properti bentang adalah larik objek GMSStyleSpan . Menyetel properti spans adalah cara yang lebih disukai untuk mengubah warna polyline.
strokeColor
Objek UIColor yang menetapkan warna polyline. Default-nya adalah blueColor. Properti strokeColor akan diabaikan jika spans telah disetel.

Cuplikan berikut menambahkan polyline tebal dari Melbourne ke Perth, dengan interpolasi geodesi.

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;

Untuk memodifikasi polyline setelah ditambahkan ke peta, pastikan mempertahankan objek 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];

Mengubah warna polyline

Polyline digambar sebagai serangkaian segmen pada peta. Anda bisa mengubah warna segmen individual, atau seluruh baris, dengan properti spans. Walaupun properti ini memberikan Anda kontrol detail atas pewarnaan polyline, ada beberapa kepraktisan yang memudahkan penerapan gaya tunggal ke seluruh baris.

Cuplikan di bawah ini menggunakan metode spanWithColor: untuk mengubah warna keseluruhan garis menjadi merah.

Swift

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

Objective-C

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

Sebagai alternatif, jika sudah memiliki akses ke objek GMSStrokeStyle, Anda bisa menggunakan metode 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]];

Sebelum versi 1.7 Google Maps SDK for iOS, properti tunggal strokeColor tersedia untuk menyetel seluruh warna GMSPolyline. Properti spans lebih diprioritaskan daripada strokeColor.

Swift

polyline.strokeColor = .red

Objective-C

polyline.strokeColor = [UIColor redColor];

Gaya

Jika aplikasi Anda menerapkan warna garis luar yang sama beberapa kali, mungkin sebaiknya Anda mendefinisikan gaya yang bisa digunakan kembali. Gaya polyline ditetapkan menggunakan objek GMSStrokeStyle. Gaya garis luar bisa berupa warna solid atau gradien dari satu warna ke warna lain. Setelah membuat gaya, Anda bisa menerapkannya pada GMSStyleSpan dengan metode 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];

Gaya span akan berlanjut hingga akhir polyline, atau hingga gaya baru disetel. Anda bisa mengubah warna seluruh baris dengan menyetel properti spans polyline ke GMSStyleSpan tunggal Cuplikan di bawah ini memperagakan cara menerapkan gradien ke seluruh panjang polyline.

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

Mengubah warna segmen garis individual

Jika ingin memberi gaya pada setiap segmen polyline secara individual, Anda bisa melakukannya dengan membuat larik objek GMSStyleSpan, dan meneruskannya ke properti spans. Secara default, setiap item dalam larik akan menyetel warna segmen garis yang sesuai. Jika lebih banyak elemen dalam larik dibandingkan segmen dalam garis, elemen ekstra akan diabaikan. Jika lebih sedikit elemen dalam larik, GMSStyleSpan akhir akan menjelaskan warna untuk bagian garis selebihnya.

Anda bisa menggunakan blok warna dan/atau polyline gradien untuk menunjukkan perubahan sepanjang polyline Anda seperti elevasi atau kecepatan. Cuplikan di bawah ini menyetel warna dua segmen pertama polyline ke merah, dan segmen garis selebihnya berupa gradien dari merah ke kuning.

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

Anda bisa menggunakan metode spanWithStyle:segments: untuk menyetel gaya beberapa segmen sekaligus. Misalnya, kode berikut setara dengan yang di atas. Panjang segmen GMSStyleSpan akhir akan selalu diabaikan karena gaya akan digunakan untuk menjelaskan bagan garis selebihnya.

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

Segmen pecahan

Segmen juga bisa ditetapkan sebagai nilai pecahan. Ini akan menerapkan gaya ke jumlah pecahan dari segmen, yang berpotensi menyebabkan pemisahan segmen tunggal. Setiap GMSStyleSpan segera dimulai setelah yang sebelumnya: dalam contoh di bawah ini, warna abu-abu akan mulai dari ½ hingga segmen kedua dan berlanjut ke ½ hingga segmen ketiga.

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

Menambahkan pola warna berulang ke polyline

Jika ingin menambahkan pola ke polyline, Anda bisa menggunakan metode utilitas GMSStyleSpans di GMSGeometryUtils. Metode GMSStyleSpans menerima dua larik yang mendefinisikan pola berulang. Satu larik menyetel gaya yang harus diulang, dan yang lainnya mendefinisikan interval perulangan. Saat digunakan bersama Anda bisa membuat pola yang bisa diterapkan ke seluruh segmen polyline, berapa pun panjangnya atau jumlah segmen yang tersedia.

Misalnya, cuplikan kode di bawah ini mendefinisikan polyline dengan pola selang-seling hitam dan putih. Panjangnya diperlakukan sebagai meter di sepanjang garis rhumb (dalam Mercator, ini adalah garis lurus) karena tipe ditetapkan sebagai 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);

Poligon

Poligon serupa dengan polyline karena keduanya terdiri dari serangkaian koordinat yang berurutan. Akan tetapi, bukannya dibuat terbuka, poligon didesain untuk mendefinisikan region solid dalam loop tertutup. Poligon didefinisikan dalam Google Maps SDK for iOS oleh kelas GMSPolygon .

Anda bisa menambahkan GMSPolygon ke peta dengan cara yang sama seperti Anda menambahkan GMSPolyline. Pertama, tetapkan jalur dengan membuat objek GMSMutablePath yang sesuai dan menambahkan titik ke objek tersebut. Titik-titik ini akan membentuk garis luar poligon. Masing-masing CLLocationCoordinate2D menyatakan sebuah titik pada permukaan bumi. Segmen garis digambar di antara titik sesuai dengan urutan Anda menambahkannya ke jalur.

Menambahkan poligon

  1. Buat objek GMSMutablePath.
  2. Setel titik di jalur dengan metode addCoordinate: atau addLatitude:longitude:. Titik-titik ini akan membentuk garis luar poligon.
  3. Buat instance objek GMSPolygon baru dengan menggunakan jalur sebagai argumen.
  4. Setel properti lain, seperti strokeWidth, strokeColor dan fillColor, sebagaimana diinginkan.
  5. Tetapkan poligon ke objek GMSMapView dengan menyetel properti GMSPolygon.map.
  6. Polyline akan muncul pada peta.

Cuplikan kode berikut menambahkan persegi panjang ke peta.

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;

Anda bisa menyesuaikan penampilan poligon baik sebelum maupun sesudah menambahkannya ke peta.

Lingkaran

Selain kelas GMSPolygon generik, Google Maps SDK for iOS juga berisi GMSCircle, sehingga Anda bisa dengan mudah menggambar lingkaran pada permukaan bumi.

Untuk membuat lingkaran, Anda harus menetapkan dua properti berikut:

  • position sebagai CLLocationCoordinate2D.
  • radius dalam meter.

Sebuah lingkaran kemudian didefinisikan sebagai serangkaian titik di permukaan Bumi yang berjarak radius meter dari center yang diberikan. Karena cara proyeksi Mercator yang digunakan oleh Maps API akan merender bola pada permukaan yang datar, ini akan tampak sebagai lingkaran hampir sempurna pada peta bila berada di dekat ekuator, dan akan tampak semakin bukan-melingkar (pada layar) saat lingkaran bergerak menjauh dari ekuator.

Menambahkan lingkaran

Cuplikan kode berikut menambahkan lingkaran ke peta:

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;

Anda bisa menyesuaikan penampilan lingkaran, baik sebelum maupun setelah menambahkannya ke peta.

Menyesuaikan lingkaran

Anda bisa menetapkan warna dan lebar garis luar khusus dengan memodifikasi properti GMSCircle. Ini mendukung opsi berikut:

fillColor
Objek
UIColor yang menetapkan interior lingkaran. Default-nya adalah transparan.
strokeColor
Objek UIColor yang menetapkan warna garis luar lingkaran. Default-nya adalah blackColor.
strokeWidth
Ketebalan garis luar lingkaran, dalam titik layar. Default-nya adalah 1. Ketebalan tidak diskalakan bila peta di-zoom.

Cuplikan berikut menambahkan sebuah lingkaran tebal merah dengan interior semi transparan berwarna merah.

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;

Membuat poligon kosong

Anda bisa menggabungkan beberapa jalur menjadi satu objek GMSPolygon untuk membuat bentuk yang kompleks, misalnya cincin yang diisi, atau donat (dalam hal ini bidang poligonal muncul di dalam poligon sebagai bentuk yang terpisah). Bentuk kompleks adalah komposisi beberapa jalur.

Buat poligon dengan jalur yang menentukan daerah terbesar yang ditutupi oleh poligon. Kemudian tentukan properti holes dari poligon sebagai larik dari satu atau beberapa objek GMSPath, yang mendefinisikan lubang dalam poligon.

Bila jalur yang lebih kecil terkurung sepenuhnya oleh jalur yang lebih besar, jalur tersebut akan tampak seperti bagian poligon yang telah dihilangkan.

Contoh kode berikut membuat poligon dengan dua lubang:

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

Kirim masukan tentang...

Google Maps SDK for iOS
Google Maps SDK for iOS
Butuh bantuan? Kunjungi halaman dukungan kami.