Google Maps SDK — apa itu, Google Maps dan API untuk pengembangan

Penulis: IT Sectr Diterbitkan: 2026-04-30 Waktu membaca: 10 mnt

Google Maps SDK — adalah seperangkat alat dari Google untuk mengintegrasikan peta interaktif, geocoding, rute, dan pencarian tempat ke dalam aplikasi mobile dan web. SDK mencakup Maps SDK untuk Android dan iOS, Places API untuk bekerja dengan data geografis, dan Directions API untuk pembuatan rute. Layanan Google Maps memproses lebih dari 100 miliar permintaan per hari, menjadikan Maps SDK salah satu solusi pemetaan paling performan. Menurut Google Maps Platform Documentation, 2025, SDK digunakan di 60% dari semua aplikasi mobile dengan peta.

Poin utama

  • Google Maps SDK — platform untuk integrasi peta, data geografis, dan navigasi dalam aplikasi
  • Maps SDK — menampilkan peta interaktif dengan kustomisasi gaya dan lapisan
  • Places API — mencari tempat, geocoding, dan mendapatkan informasi tentang lokasi
  • Directions API — pembuatan rute untuk berbagai moda transportasi
  • Penagihan — pembayaran penggunaan API berdasarkan jumlah permintaan ($2-10 per 1000 permintaan)

Apa itu Google Maps SDK?

Google Maps SDK — adalah platform komprehensif bagi pengembang yang menyediakan alat untuk bekerja dengan data geografis dalam aplikasi. Platform ini mencakup beberapa API: Maps SDK (menampilkan peta), Routes API (rute), Places API (pencarian tempat dan data geografis), dan Geocoding API (konversi alamat ke koordinat). Setiap SDK diintegrasikan secara terpisah dan memiliki model penagihan sendiri.

Tidak seperti Apple MapKit, Google Maps SDK menawarkan kumpulan data yang lebih luas: informasi tentang 250 juta tempat, lalu lintas real-time, panorama Street View, dan Indoor Maps untuk dalam ruangan. Menurut Statista (2025), Google Maps Platform menguasai 75% pasar SDK pemetaan di aplikasi mobile. Keuntungan utama — satu kunci API untuk semua layanan Google Maps dan integrasi lintas platform (Android, iOS, web).

Kunci API dan konfigurasi keamanan

Kunci API — elemen wajib untuk bekerja dengan Google Maps SDK. Kunci dibuat di Google Cloud Console dan ditautkan ke proyek tertentu. Untuk Android, diperlukan SHA-1 sertifikat aplikasi, untuk iOS — Bundle Identifier. Google merekomendasikan membatasi penggunaan kunci API berdasarkan alamat IP, referrer HTTP, atau paket aplikasi untuk mencegah akses tidak sah.

Maps SDK untuk Android: integrasi dan kemampuan

Maps SDK untuk Android — adalah pustaka yang menampilkan peta Google interaktif di dalam aplikasi Android melalui MapView atau SupportMapFragment. SDK mendukung: gaya peta kustom, penanda dengan jendela informasi, poligon dan poligaris, lapisan lalu lintas dan transportasi, serta event sentuhan dan gestur (zoom, rotasi, kemiringan). Peta menggunakan OpenGL untuk rendering, memberikan 60 FPS pada perangkat modern.

Integrasi dimulai dengan menambahkan dependensi di build.gradle dan mengonfigurasi kunci API melalui AndroidManifest.xml. Google Maps SDK untuk Android memerlukan Google Play Services di perangkat. Jika Google Play Services tidak ada (misalnya, pada perangkat Huawei tanpa layanan Google), peta tidak akan ditampilkan. Untuk kasus seperti itu, Google merekomendasikan menggunakan solusi alternatif atau WebView dengan JavaScript Maps API.

kotlin
// AndroidManifest.xml — metadata kunci API
// <meta-data android:name="com.google.android.geo.API_KEY"
//     android:value="YOUR_API_KEY"/>

// Fragmen peta di Activity
class MapActivity : AppCompatActivity(),
    OnMapReadyCallback {

    private lateinit var map: GoogleMap

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_map)
        val mapFragment = supportFragmentManager
            .findFragmentById(R.id.map) as SupportMapFragment
        mapFragment.getMapAsync(this)
    }

    override fun onMapReady(googleMap: GoogleMap) {
        map = googleMap
        val sydney = LatLng(-33.8688, 151.2093)
        map.addMarker(MarkerOptions().position(sydney)
            .title("Sydney"))
        map.moveCamera(CameraUpdateFactory
            .newLatLngZoom(sydney, 12f))
    }
}

Google Maps SDK di Android mendukung Indoor Maps — menampilkan denah bangunan (bandara, pusat perbelanjaan). Untuk mengaktifkannya, cukup setel map.isIndoorEnabled = true. Lapisan lalu lintas (Traffic Layer) menunjukkan kepadatan jalan secara real-time — data diperbarui setiap 2-5 menit. Lapisan transportasi (Transit Layer) menampilkan rute transportasi umum di kota yang didukung.

Maps SDK untuk iOS: konfigurasi dan penggunaan

Maps SDK untuk iOS memberikan kemampuan yang sama dengan versi Android, tetapi disesuaikan untuk platform Apple. Integrasi dilakukan melalui Swift Package Manager atau CocoaPods. Maps SDK untuk iOS menggunakan server Google untuk rendering peta, tetapi dapat bekerja bersama Apple MapKit untuk navigasi native. SDK mendukung iOS 15 dan lebih baru, serta SwiftUI melalui UIViewRepresentable.

Keistimewaan versi iOS — konfigurasi wajib Info.plist dengan menentukan kunci API dan menambahkan skema URL untuk Google Maps. Tidak seperti Android, iOS SDK tidak memerlukan Google Play Services, tetapi memerlukan aplikasi Google Maps terinstal untuk beberapa fungsi (misalnya, membuka peta dalam navigasi). Untuk proyek lintas platform, Google merekomendasikan satu kunci API per proyek, diaktifkan untuk kedua platform.

swift
import GoogleMaps

class MapViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        let camera = GMSCameraPosition.camera(
            withLatitude: 55.7558,
            longitude: 37.6173,
            zoom: 10
        )
        let mapView = GMSMapView.map(
            withFrame: view.frame,
            camera: camera
        )
        self.view = mapView

        let marker = GMSMarker()
        marker.position = CLLocationCoordinate2D(
            latitude: 55.7558,
            longitude: 37.6173
        )
        marker.title = "Moscow"
        marker.map = mapView
    }
}

Di iOS, Google Maps SDK mendukung gaya kustom melalui file JSON dalam format Google Maps Styling. Gaya memungkinkan mengubah warna jalan, air, taman, dan bangunan sesuai dengan desain aplikasi. Juga didukung Heatmap Layer untuk visualisasi kepadatan data, KML dan GeoJSON untuk mengimpor data geografis dari sumber eksternal.

Places API: mencari tempat dan geocoding

Places API — adalah layanan Google Maps Platform untuk mendapatkan informasi tentang tempat geografis: alamat, koordinat, peringkat, jam buka, foto, dan ulasan. Places API bekerja dalam dua mode: Place Search (mencari tempat berdasarkan teks atau radius) dan Place Details (mendapatkan informasi detail tentang tempat tertentu berdasarkan Place ID). SDK tersedia untuk Android, iOS, dan sebagai REST API.

Places SDK untuk Android dan iOS memungkinkan menyematkan pelengkapan otomatis alamat (Place Autocomplete) langsung ke kolom teks aplikasi. Ini adalah fungsi kunci untuk aplikasi pengiriman, taksi, dan logistik — pengguna mulai mengetik alamat, dan SDK menawarkan opsi dari database Google Maps. Place Autocomplete mengurangi kesalahan entri alamat sebesar 80% dibandingkan dengan entri manual. Penagihan Places API: $2.83 per 1000 permintaan Place Details, Place Search — $4.71 per 1000.

kotlin
// Mencari tempat berdasarkan teks di Android
val placesClient = Places.createClient(context)
val request = FindCurrentPlaceRequest.builder(
    listOf(Place.Field.NAME, Place.Field.ADDRESS)
).build()

placesClient.findCurrentPlace(request)
    .addOnSuccessListener { response ->
        for (placeLikelihood in response.placeLikelihoods) {
            Log.d("Places", "${placeLikelihood.place.name} - ${placeLikelihood.likelihood}")
        }
    }

Place Autocomplete: pelengkapan otomatis alamat

Geocoding API — geocoding terbalik (koordinat → alamat) dan langsung (alamat → koordinat). Digunakan untuk mengonversi alamat yang dimasukkan pengguna menjadi koordinat untuk ditampilkan di peta. Geocoding API ditagih secara terpisah: $4.71 per 1000 permintaan. Google menyediakan 200 permintaan gratis per hari per akun untuk pengujian.

Directions API: pembuatan rute

Directions API — layanan untuk menghitung rute antara dua atau lebih titik dengan mempertimbangkan moda transportasi (mobil, pejalan kaki, sepeda, transportasi umum). API mengembalikan beberapa rute alternatif dengan menyertakan jarak, waktu perjalanan, petunjuk langkah demi langkah, dan poligaris untuk menggambar rute di peta. Directions API tersedia sebagai REST API dan melalui SDK klien.

Fungsionalitas yang diperluas — Routes API (API baru, direkomendasikan oleh Google sejak 2024). Routes API menawarkan penentuan rute yang ditingkatkan dengan mempertimbangkan lalu lintas real-time, jejak ekologis (eco-friendly routing), dan analisis prediktif waktu kedatangan. Menurut Google, Routes API 20% lebih akurat dalam menghitung waktu perjalanan di kondisi perkotaan dibandingkan Directions API klasik. Routes API ditagih: $5.00 per 1000 permintaan.

kotlin
// Permintaan rute melalui Routes API
val client = OkHttpClient()
val requestBody = """
    {
        "origin": {"location": {"latLng": {"latitude": 55.75, "longitude": 37.61}}},
        "destination": {"location": {"latLng": {"latitude": 55.79, "longitude": 37.79}}},
        "travelMode": "DRIVE",
        "routingPreference": "TRAFFIC_AWARE"
    }
""".trimIndent()

val request = Request.Builder()
    .url("https://routes.googleapis.com/directions/v2:computeRoutes")
    .header("X-Goog-Api-Key", apiKey)
    .header("Content-Type", "application/json")
    .post(requestBody.toRequestBody())
    .build()

client.newCall(request).enqueue(object : Callback {
    override fun onResponse(call: Call, response: Response) {
        Log.d("Route", response.body?.string() ?: "")
    }
})

Directions API mendukung hingga 25 titik perantara (waypoints) untuk satu rute. Titik perantara dapat ditentukan sebagai koordinat atau Place ID. Untuk mengoptimalkan urutan titik (masalah penjual keliling), gunakan parameter optimize:true. Penagihan: Directions API — $4.71 per 1000 permintaan (hingga 10 titik), setiap titik tambahan menambah 50% ke biaya permintaan.

Kustomisasi peta: gaya, penanda, dan jendela informasi

Google Maps SDK menyediakan kemampuan kustomisasi yang luas: mengubah skema warna peta melalui gaya JSON, menambahkan penanda kustom (termasuk yang dianimasikan), jendela informasi (InfoWindow) dengan konten arbitrer, dan melapisi lapisan grafis (GroundOverlay, Circle, Polygon). Kustomisasi memungkinkan menyesuaikan peta dengan merek aplikasi dan meningkatkan pengalaman pengguna.

Gaya peta dilakukan melalui Google Maps Styling Wizard atau file JSON dalam format Map Style. Warna jalan (featureType: road), air (water), taman (poi.park), bangunan (building), dan elemen lainnya dapat diubah. Untuk peta dalam tema gelap aplikasi, gunakan gaya malam dengan latar belakang gelap dan warna redup. Google Maps mendukung hingga 100 aturan gaya dalam satu file JSON.

Elemen kustomisasiMetode/KelasDeskripsi
PenandaMarkerOptions.icon(BitmapDescriptor)Ikon penanda kustom dari sumber daya atau URL
PoligarisPolylineOptions.color(width)Garis untuk menampilkan rute dengan warna kustom
PoligonPolygonOptions.fillColor(strokeColor)Mengisi area dengan transparansi dan garis tepi
InfoWindowGoogleMap.setInfoWindowAdapterKonten kustom jendela informasi (View apa pun)
GroundOverlayGroundOverlayOptions.image(BitmapDescriptor)Gambar yang ditempatkan di atas area peta

Clustering: pengelompokan penanda untuk performa

Clustering — menggabungkan penanda ke dalam kluster saat jumlah titik banyak di peta. Google Maps SDK untuk Android dan iOS menyertakan utilitas pengelompokan bawaan (com.google.maps.android:android-maps-utils). Clustering mencegah peta terlalu penuh dengan penanda pada zoom di bawah level tertentu. Saat di-zoom, kluster secara otomatis terurai menjadi penanda individu. Menurut Google, pengelompokan meningkatkan performa peta sebesar 40% pada 1000+ penanda.

Contoh kode: peta dengan penanda di Kotlin

Contoh lengkap menampilkan peta dengan penanda kustom, poligaris rute, dan jendela informasi. Aplikasi menampilkan peta Moskow dengan titik minat dan rute menuju ke sana dari pusat kota. Kode mendemonstrasikan kemampuan dasar Google Maps SDK: menambahkan penanda, menggambar poligaris, memindahkan kamera, dan menangani klik.

kotlin
class MapDemoActivity : AppCompatActivity(), OnMapReadyCallback {

    override fun onMapReady(map: GoogleMap) {
        val kremlin = LatLng(55.7513, 37.6189)
        val gorkyPark = LatLng(55.7311, 37.6116)

        map.addMarker(MarkerOptions()
            .position(kremlin)
            .title("Kremlin")
            .icon(BitmapDescriptorFactory.defaultMarker(
                BitmapDescriptorFactory.HUE_RED)))

        map.addPolyline(PolylineOptions()
            .add(kremlin, gorkyPark)
            .width(5f)
            .color(Color.parseColor("#2196F3")))

        map.moveCamera(CameraUpdateFactory
            .newLatLngZoom(kremlin, 13f))

        map.setOnInfoWindowClickListener { marker ->
            Toast.makeText(this,
                "${marker.title} clicked",
                Toast.LENGTH_SHORT).show()
        }
    }
}

Rekomendasi performa: gunakan pemuatan penanda asinkron melalui ClusterManager saat jumlah titik lebih dari 200, batasi jumlah poligaris yang terlihat (Google merekomendasikan tidak lebih dari 100 secara bersamaan), gunakan Lite Mode untuk peta yang tidak memerlukan fungsionalitas penuh (gulir tanpa mengubah zoom). Lite Mode mengurangi konsumsi memori sebesar 50% dan mempercepat pemuatan peta 2 kali lipat.

Harga dan batasan Google Maps Platform

Google Maps Platform menggunakan model pembayaran Pay-as-you-go dengan batas kredit gratis bulanan $200. Setiap API ditagih secara terpisah: Maps SDK — $2.83 per 1000 muat peta, Places API — $4.71 per 1000 permintaan, Directions API — $4.71 per 1000 rute. Routes API (direkomendasikan) — $5.00 per 1000 permintaan. Batas gratis $200 biasanya mencakup hingga 70.000 muat peta per bulan.

Untuk proyek dengan beban tinggi, Google menawarkan diskon untuk volume mulai dari 500.000 permintaan per bulan. Google Maps SDK tidak ditagih untuk menampilkan peta dasar tanpa interaksi — biaya hanya dikenakan untuk pemuatan (map load). Setiap kali pengguna membuka layar dengan peta, itu dihitung sebagai satu pemuatan. Optimasi: caching ubin peta mengurangi jumlah pemuatan saat dibuka kembali.

Batas: 300 permintaan per menit untuk Places API (dapat ditingkatkan hingga 3000 melalui kuota di Cloud Console). Untuk Directions API — 100 permintaan per menit. Melebihi batas mengembalikan error OVER_QUERY_LIMIT. Google merekomendasikan menggunakan penundaan eksponensial (exponential backoff) untuk permintaan berulang. Pemantauan penggunaan tersedia di Google Cloud Console dengan penundaan hingga 5 menit.

Pertanyaan yang sering diajukan

Berapa biaya penggunaan Google Maps SDK di aplikasi mobile?

Google Maps SDK ditagih berdasarkan model pay-as-you-go: $2.83 per 1000 muat peta. Setiap bulan Google menyediakan kredit gratis $200 yang mencakup hingga 70.000 muatan. Places API dan Directions API ditagih secara terpisah. Untuk proyek kecil dengan audiens hingga 10.000 pengguna, biaya biasanya $10-50 per bulan.

Bisakah Google Maps SDK digunakan tanpa internet?

Ya, Google Maps SDK mendukung peta offline melalui caching ubin. SDK secara otomatis menyimpan cache hingga 1000 ubin (sekitar area 10x10 km). Untuk dukungan offline penuh, gunakan Google Maps Offline API untuk Android, yang memungkinkan mengunduh peta seluruh wilayah. Peta offline tidak mendukung lalu lintas, rute, dan Places API.

Apa perbedaan Google Maps SDK dengan Apple MapKit?

Google Maps SDK menawarkan kumpulan data yang lebih luas: 250 juta tempat, lalu lintas real-time, Street View, Indoor Maps. Apple MapKit gratis, tetapi memiliki lebih sedikit data di luar AS dan Eropa. Google SDK memerlukan kunci API dan pembayaran, Apple MapKit tidak. Untuk proyek lintas platform, Google Maps SDK lebih disukai karena satu kunci API di kedua platform.

Bagaimana cara mendapatkan kunci API gratis untuk Google Maps?

Kunci API dibuat di Google Cloud Console melalui bagian APIs & Services → Credentials. Untuk aktivasi, kunci harus ditautkan ke akun pembayaran, tetapi Google menyediakan kredit gratis $200 setiap bulan. Kunci dapat dibatasi berdasarkan IP, referrer HTTP, atau paket Android / iOS Bundle ID. Untuk pengujian, tidak perlu memasukkan data kartu bank.

Apakah Google Maps SDK mendukung pengelompokan penanda?

Ya, Google Maps SDK mendukung pengelompokan melalui pustaka android-maps-utils (Android) dan Google-Maps-iOS-Utils (iOS). ClusterManager secara otomatis menggabungkan penanda yang berdekatan ke dalam kluster dengan indikator numerik. Saat di-zoom, kluster terurai menjadi penanda individu. Pengelompokan wajib dilakukan pada 200+ penanda untuk menjaga performa peta.

Ringkasan

  • Google Maps SDK — platform untuk integrasi peta, data geografis, dan navigasi dalam aplikasi mobile
  • Maps SDK untuk Android dan iOS menampilkan peta interaktif dengan dukungan gaya, penanda, dan lapisan
  • Places API — pencarian tempat, pelengkapan otomatis alamat, dan geocoding untuk aplikasi dengan data geografis
  • Directions API / Routes API — pembuatan rute dengan mempertimbangkan lalu lintas dan hingga 25 titik perantara
  • Kustomisasi mencakup gaya JSON, penanda kustom, InfoWindow, pengelompokan, dan GroundOverlay
  • Harga — pay-as-you-go dari $2.83 per 1000 muatan dengan batas gratis $200 per bulan
  • Kunci API wajib, ditautkan ke proyek di Google Cloud Console, dan dibatasi per platform

Kami akan mengembangkan aplikasi seluler turnkey

IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.

Diskusikan proyek

Baca juga