Panduan pengembang untuk Google Routes API

Panduan pengembang untuk Google Routes API

Semua orang tahu bahwa Anda dapat menggunakan Google Maps Routes API untuk membuat rute antara dua titik dan menampilkannya di peta. Tetapi tahukah Anda bahwa Anda juga dapat menggunakannya untuk:

  1. Menghitung waktu tempuh dan perkiraan waktu tiba (ETA) yang memperhitungkan lalu lintas waktu nyata,
  2. 2.  Mendapatkan petunjuk arah langkah demi langkah,
  3. Menghindari jalan tol,
  4. Merencanakan rute dengan beberapa pemberhentian (dioptimalkan atau tidak) untuk moda perjalanan DRIVE (MENGEMUDI), WALK (BERJALAN KAKI), TRANSIT (TRANSPORTASI UMUM), atau BICYCLE (BERSEPEDA),
  5. Menemukan taksi terdekat yang tersedia, dan
  6. Mencari tempat-tempat menarik seperti SPBU (Stasiun Pengisian Bahan Bakar Umum), tempat istirahat, atau toilet umum di sepanjang jalan?

Bagian 1: Panduan pengembang untuk Google Routes API (artikel ini)
Bagian 2: Merancang rute multi-stop menggunakan API Routes
Bagian 3: Menggunakan Google Distance Matrix API untuk pengiriman taksi
Bagian 4: Pencarian di Sepanjang Rute di Google Maps
Bagian 5: Menggambar rute di Google Maps Android dengan Routes API

Dalam seri lima bagian ini, saya akan menunjukkan kepada Anda cara menggunakan tiga endpoint utama: Compute Routes, Compute Route Matrix (dari Routes API), dan Search Along Route (bagian dari Places API). Saya akan mengeksplorasi kasus penggunaan umum mereka, membahas harga, dan mengakhiri setiap postingan dengan contoh praktis dan kode yang berfungsi yang dapat anda gunakan dalam proyek anda sendiri.

Routes API Demo
Use the Google Routes API to find the shortest route between an origin and destination
Google Maps Distance Matrix Demo
How to use the Google Distance Matrix API (part of the Routes API) to match passengers to taxis
Search Along Route
Use the Google Search Along Route API to find places along a route that match a free form text string

Apa itu Google Routes API?

Routes API adalah istilah payung untuk sekelompok API yang membantu anda menemukan cara tercepat untuk bepergian dari titik A ke titik B. Layanan ini menggantikan Directions API yang sangat populer dan kini sudah dihentikan. Jika anda pernah menggunakan Aplikasi Google Maps , anda pasti sudah akrab dengan kemampuannya. Routes API terdiri dari tiga endpoint utama:

  1. Compute Routes adalah API perutean multi-titik yang menyediakan estimasi waktu perjalanan (ETA), jarak tempuh berkendara, petunjuk arah belokan demi belokan, serta kondisi lalu lintas secara real-time untuk berbagai moda perjalanan. API ini digunakan oleh Google Maps untuk menghitung waktu dan jarak perjalanan dari titik ke titik setiap kali Anda menggunakan Google Maps untuk navigasi.
Bagaimana fitur Hitung Rute digunakan di aplikasi Google Maps
  1. Compute Route Matrix merupakan API matriks jarak yang menyediakan informasi jarak tempuh serta durasi perjalanan antara berbagai titik asal dan tujuan. Google Maps memanfaatkan API ini untuk mengurutkan hasil pencarian berdasarkan kedekatannya dengan lokasi anda saat ini.  
Bagaimana endpoint Compute Route Matrix digunakan di aplikasi Google Maps
  1. Search Along Route menggunakan encoded polylines yang dihasilkan oleh Routes API untuk melakukan Places Text Search, sehingga dapat mengidentifikasi bisnis maupun titik-titik kepentingan yang terletak di sepanjang rute tersebut. Fitur ini paling sering digunakan pada Car Play ketika anda sudah memiliki rute yang diprogram di aplikasi Google Maps dan perlu mencari restoran, kedai kopi, atau tempat peristirahatan di sepanjang perjalanan.
Bagaimana fitur Search Along Route digunakan di aplikasi Google Maps

Contoh Penggunaan Google Routes API

Jadi, seperti itulah cara Google memanfaatkan Routes API. Berikut ini beberapa hal yang bisa Anda lakukan dengannya.

Dengan endpoint Compute Routes :

Endpoint POST https://routes.googleapis.com/directions/v2:computeRoutes

Headers
Content-Type: application/json; charset=utf-8
X-Goog-Api-Key: YOUR_API_KEY
X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline, routes.legs,routes.travelAdvisory.tollInfo,routes.legs.travelAdvisory.tollInfo,routes.travelAdvisory.speedReadingIntervals

Body

{
	"origin": {
		"location": {
			"latLng": {
				"latitude": 49.1951165,
				"longitude": -123.1814285
			}
		}
	},
	"destination": {
		"location": {
			"latLng": {
				"latitude": 50.1042288,
				"longitude": -123.0840866
			}
		}
	},
	"travelMode": "DRIVE",
	"polylineQuality": "OVERVIEW",
    "routingPreference": "TRAFFIC_AWARE",
	"departureTime": "2025-10-23T15:00:00Z"
}

Respons

Gambarkan rute pada peta

Field polyline.encodedPolyline yang dikembalikan oleh endpoint Compute Routes dapat dengan mudah digambarkan pada Google Map menggunakan komponen <Polyline/> atau dengan menggunakan polyline decoder untuk mendapatkan kembali koordinat lintang dan bujur asli dari setiap titik pada rute tersebut.

{
    "polyline": {
        "encodedPolyline": "iggkHlrynVr@j@h@L~C`@b@ERKRYt@iBR{@Hw@FgBHcCRkCt@qNAuAe@mG{BoWW{FEkFDsp@@aTIcHU{Gi@uJESW}CqGqk@gBwPe@oCi@eBi@wAsA_Cq@y@o@m@}Aw@iF_BqBk@}EqAuBs@MQeG_CcAMo@@k@Ns@j@e@l@_@z@aCfJ{AhGS^_@~A}@dDa@z@_@`@gAb@OJuFGMMsDMaIISHGHidAqAwm@{@o\\]uCBeEK{DIq_@e@wGGq_@a@oKKyd@o@ek@s@sJE}HKUQ{JO_AMwAa@s@]"
    }
}

Dapatkan petunjuk arah belokan demi belokan ke tujuan Anda

Perlu mencetak petunjuk arah belokan demi belokan atau menampilkannya di aplikasi? Gunakan field navigationInstruction.instructions dalam array steps[] yang dikembalikan oleh Compute Routes.

{
    "steps": [
        {
            "navigationInstruction": {
                "maneuver": "DEPART",
                "instructions": "Head southwest on Grant McConachie Wy E"
            }
        }
    ]
}

Jarak dan waktu perjalanan tergantung kondisi lalu lintas.

Respons endpoint Compute Routes mencakup field legs.distanceMeters dan legs.duration, yang memberikan informasi tentang jarak tempuh dan waktu perjalanan untuk rute tersebut. ETA (perkiraan waktu tiba) di tujuan dapat diperoleh dengan menambahkan legs.duration ke waktu saat ini.

{
    "routes": [
        {
            "legs": [
                {
                    "distanceMeters": 130429,
                    "duration": "7812s"
                }
            ]
        }
    ]
}

Dengan endpoint Compute Route Matrix :

Endpoint POST https://routes.googleapis.com/directions/v2:computeRoutes

Headers application/json; charset='utf-8 YOUR_API_KEY : routes.duration,routes.distanceMeters

Body

{
    "origins": [
        {
            "waypoint": {
                "location": {
                    "latLng": {
                        "latitude": 49.2682989,
                        "longitude": -123.1830924
                    }
                }
            }
        }
    ],
    "destinations": [
        {
            "waypoint": {
                "location": {
                    "latLng": {
                        "latitude": 49.254563,
                        "longitude": -123.1121977
                    }
                }
            }
        },
        {
            "waypoint": {
                "location": {
                    "latLng": {
                        "latitude": 49.3137275,
                        "longitude": -123.0540365
                    }
                }
            }
        },
        {
            "waypoint": {
                "location": {
                    "latLng": {
                        "latitude": 49.2351204,
                        "longitude": -123.1692661
                    }
                }
            }
        }
    ],
    "travelMode": "DRIVE",
    "routingPreference": "TRAFFIC_AWARE",
    "departureTime": "2025-10-23T15:00:00Z"
}

Respons

Google Directions API vs Routes API

Jika Anda sudah lama menjadi pengembang Google Maps Platform, mungkin Anda sudah menggunakan Directions API untuk membuat rute atau menghitung ETA (perkiraan waktu tiba). Namun, apakah layak untuk meningkatkan ke Routes API (biaya $8 CPM untuk Directions API dibandingkan $10 - $15 CPM untuk Routes API)?

Jawaban saya ya , tetapi hanya jika Anda membutuhkan fitur-fitur berikut.

Polyline lalu lintas waktu nyata

Routes API mengembalikan polyline berwarna yang secara dinamis mencerminkan kondisi lalu lintas waktu nyata. Dengan mem-parsing travelAdvisory.speedReadingIntervals pada respons, Anda dapat memberikan tampilan visual kepada pengguna mengenai arus lalu lintas dan tingkat kemacetan di sepanjang rute.

{
    "speedReadingIntervals": [
        {
            "endPolylinePointIndex": 13,
            "speed": "NORMAL"
        },
        {
            "startPolylinePointIndex": 13,
            "endPolylinePointIndex": 15,
            "speed": "SLOW"
        }
    ]
}

Rute Kendaraan Roda Dua

Kota-kota seperti Jakarta, Manila, dan Ho Chi Minh City menghadapi masalah kemacetan lalu lintas yang sangat besar. Di kota-kota ini, menggunakan sepeda motor atau skuter dapat menjadi solusi untuk mengurangi masalah tersebut karena kendaraan roda dua dapat menggunakan jalan-jalan kecil dan menghindari kemacetan yang sering dialami oleh mobil atau kendaraan yang lebih besar. Routes API memungkinkan Anda untuk menentukan travelMode sebagai "TWO_WHEELER" agar dapat menyesuaikan dengan kecepatan dan jalur perjalanan unik yang digunakan oleh kendaraan roda dua.

{
    "origin": {
        "location": {
            "latLng": {
                "latitude": 10.8108786,
                "longitude": 106.482072
            }
        }
    },
    "destination": {
        "location": {
            "latLng": {
                "latitude": 10.4034969,
                "longitude": 107.0404779
            }
        }
    },
    "travelMode": "TWO_WHEELER",
    "polylineQuality": "OVERVIEW",
    "departureTime": "2025-10-23T15:00:00Z"
}

Data Tol

Ketika memberikan rute kepada pengguna anda, penting untuk mempertimbangkan biaya tol yang ada di sepanjang perjalanan. Hal ini sangat relevan dalam industri seperti logistik atau pengantaran jarak terakhir, di mana setiap rupiah sangat berarti. travelAdvisory.tollInfo pada objek rute memberikan estimasi berapa biaya tol yang harus dibayar di rute tersebut, yang dinyatakan dalam mata uang lokal.

{
    "travelAdvisory": {
        "tollInfo": {
            "estimatedPrice": [
                {
                    "currencyCode": "USD",
                    "units": "8",
                    "nanos": 800000000
                }
            ]
        }
    }
}

Anda bahkan dapat meminta Routes API untuk memberikan rute yang menghindari jalan tol dengan menambahkan parameter avoidTolls pada permintaan.

{
    "routeModifiers": {
        "avoidTolls": true,
        "avoidHighways": true
    }
}
⚠️
Informasi tol hanya tersedia di negara dan kota tertentu, misalnya data harga kemacetan (congestion pricing) untuk New York dan London masih belum lengkap. Untuk informasi lebih lanjut, silakan merujuk ke Google Maps Toll Pass dokumentasi.

Kunci API Google Routes

Untuk mulai menggunakan Google Routes API, Anda perlu menyiapkannya terlebih dahulu di Google Cloud Console. Mulailah dengan membuat proyek baru melalui dashboard di https://console.cloud.google.com/ dan beri nama proyek tersebut routes-api-demo. Klik [CREATE].

Membuat proyek Google Cloud baru

Untuk mengaktifkan Google Routes API, buka halaman APIs & Services dengan memilihnya dari menu di sebelah kiri. Setelah itu, klik [+ Enable APIs and Services] dan cari "Routes API".

Klik pada tautan [Routes API] lalu tekan tombol [Enable].

Enabling the Routes API on the Google Cloud Console

Klik [Save]. Jika Anda kembali ke halaman Keys and Credentials, anda dapat menemukan kunci API baru anda dengan mengklik tautan [Show Key] di sebelah kanan.

Mengambil kunci API Google Maps Anda di Google Cloud Console

Harga Google Routes API

Seperti halnya API lain di Google Maps Platform, Routes API menggunakan model harga bayar sesuai penggunaan (pay-as-you-go). Terdapat tiga tingkat harga untuk kedua endpoint Compute Routes dan Compute Route Matrix: Basic (USD$5 CPM), Advanced (USD$10 CPM), dan Preferred (USD$15 CPM). Penentuan tingkat harga pada panggilan API Anda bergantung pada bidang mana saja yang Anda sertakan dalam header X-Goog-FieldMask.

Basic : Versi Routes API ini bekerja mirip dengan Directions API . API ini menyediakan informasi rute dasar dari titik asal ke tujuan, mendukung hingga 10 titik pemberhentian (waypoint) di tengah perjalanan.

Advanced : Tingkat lanjutan memungkinkan perutean dengan 11 hingga 25 titik pemberhentian di tengah, menggabungkan informasi lalu lintas secara real time, serta memungkinkan Anda menentukan Sisi jalan , Arah kendaraan dan Perhentian kendaraan sebagai modifier.

Preferred : Tingkat tertinggi ini mencakup semua fitur di dua tingkat sebelumnya, ditambah Perutean kendaraan roda dua, Perhitungan tol dan Informasi lalu lintas pada polyline .

Contohnya, jika anda meminta routes.travelAdvisory.tollInfo dengan menambahkannya ke header X-Goog-FieldMask, anda akan langsung dikenakan biaya sebesar $15 CPM (biaya per seribu) untuk SKU Routes API (Preferred).

Apa selanjutnya dalam seri tutorial ini

Di akhir kursus ini Anda akan menjadi ahli dalam mengintegrasikan kemampuan perutean tingkat lanjut ke aplikasi anda. Secara khusus, saya akan mengajarkan Anda cara:

  • Menggambar polyline yang sadar lalu lintas di Google Map,
  • Mengambil waktu dan jarak perjalanan yang memperhitungkan lalu lintas secara real time,
  • Menggunakan field mask untuk menentukan informasi yang anda inginkan dalam respons, memastikan anda hanya mengakses dan membayar data yang dibutuhkan,
  • Menggunakan Distance Matrix API untuk menemukan kendaraan terdekat,
  • Menghasilkan token rute untuk diteruskan ke Google Navigation SDK atau Google Text Search API untuk perhitungan lanjutan.

👋  Seperti biasa, jika anda memiliki pertanyaan atau saran untuk saya, silakan hubungi saya atau sapa saya di LinkedIn.

Bagian 2: Atur rute dengan beberapa perhentian memakai Routes API