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

Bisnis dan Tempat Menarik Lainnya

Secara default, tempat menarik (POI) muncul pada peta dasar bersama ikonnya. Tempat menarik meliputi taman, sekolah, gedung pemerintahan, dan lebih banyak lagi. Selain itu, POI bisnis muncul secara default pada peta jika tipe peta adalah kGMSTypeNormal. POI bisnis menyatakan bisnis seperti toko, restoran, hotel, dan lainnya.

POI mengacu pada tempat, sebagaimana didefinisikan di Google Places API. Misalnya, taman rekreasi adalah POI, tetapi fitur-fitur seperti air mancur umumnya bukan termasuk POI (kecuali memiliki nilai sejarah atau nasional).

Memantau kejadian klik pada POI

Jika Anda ingin merespons pengguna yang mengetuk POI, terapkan GMSMapViewDelegate, dan terapkan metode mapView(_:didTapPOIWithPlaceID:name:location:) seperti yang ditampilkan dalam contoh berikut:

Swift

import UIKit
import GoogleMaps

class ViewController: UIViewController, GMSMapViewDelegate {

...

  override func loadView() {
    let camera = GMSCameraPosition.camera(withLatitude: 47.603,
                                          longitude:-122.331,
                                          zoom:14)
    let mapView = GMSMapView.map(withFrame: .zero, camera: camera)
    mapView.delegate = self
    self.view = mapView
  }

  func mapView(_ mapView: GMSMapView, didTapPOIWithPlaceID placeID: String,
               name: String, location: CLLocationCoordinate2D) {
    print("You tapped \(name): \(placeID), \(location.latitude)/\(location.longitude)")
  }

}

Objective-C

#import "ViewController.h"
#import <GoogleMaps/GoogleMaps.h>

@interface ViewController ()

@end

@implementation ViewController

...

- (void)loadView {
  GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:47.603
                                                          longitude:-122.331
                                                               zoom:14];
  GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
  mapView.delegate = self;
  self.view = mapView;
}

#pragma mark - GMSMapViewDelegate

- (void)mapView:(GMSMapView *)mapView
    didTapPOIWithPlaceID:(NSString *)placeID
                    name:(NSString *)name
                location:(CLLocationCoordinate2D)location {
  NSLog(@"You tapped %@: %@, %f/%f", name, placeID, location.latitude, location.longitude);
}

@end

Untuk contoh tadi, asumsinya adalah Anda telah menerapkan protokol GMSMapViewDelegate di header untuk pengontrol tampilan. Untuk informasi selengkapnya, lihat Kejadian.

Menampilkan detail dalam jendela info

POI muncul pada peta secara default, tetapi tidak ada UI on-click default (API tidak otomatis menampilkan jendela info atau antarmuka pengguna lainnya saat pengguna mengetuk POI). Contoh berikut menampilkan cara menggunakan marker untuk menampilkan jendela info untuk POI:

Swift

// Declare GMSMarker instance at the class level.
let infoMarker = GMSMarker()

// Attach an info window to the POI using the GMSMarker.
func mapView(_ mapView: GMSMapView, didTapPOIWithPlaceID placeID: String,
             name: String, location: CLLocationCoordinate2D) {
  infoMarker.snippet = placeID
  infoMarker.position = location
  infoMarker.title = name
  infoMarker.opacity = 0;
  infoMarker.infoWindowAnchor.y = 1
  infoMarker.map = mapView
  mapView.selectedMarker = infoMarker
}

Objective-C

// Declare a GMSMarker instance at the class level.
GMSMarker *infoMarker;

// Attach an info window to the POI using the GMSMarker.
- (void)mapView:(GMSMapView *)mapView
    didTapPOIWithPlaceID:(NSString *)placeID
                    name:(NSString *)name
                location:(CLLocationCoordinate2D)location {
  infoMarker = [GMSMarker markerWithPosition:location];
  infoMarker.snippet = placeID;
  infoMarker.title = name;
  infoMarker.opacity = 0;
  CGPoint pos = infoMarker.infoWindowAnchor;
  pos.y = 1;
  infoMarker.infoWindowAnchor = pos;
  infoMarker.map = mapView;
  mapView.selectedMarker = infoMarker;
}

Menghentikan POI agar tidak tampil di peta

Anda bisa menyembunyikan titik menarik (POI) dengan menerapkan gaya khusus ke semua POI atau ke kategori POI tertentu.

Deklarasi gaya JSON berikut menyembunyikan semua POI bisnis pada peta:

[
  {
    "featureType": "poi.business",
    "stylers": [
      { "visibility": "off" }
    ]
  }
]

Contoh lain, JSON berikut menyederhanakan penampilan semua kategori POI:

[
  {
    "featureType": "poi",
    "stylers": [
      { "visibility": "simplified" }
    ]
  }
]

Untuk detail selengkapnya, lihat panduan untuk menyembunyikan fitur peta dengan penataan gaya.

Kirim masukan tentang...

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