Tips untuk menciptakan pengalaman pengguna terbaik saat menavigasi ke lokasi dengan mobil

Dokumen ini merupakan pembaruan dari artikel lama yang menggunakan GMP API versi sebelumnya. Konten ini diperbarui ke versi baru Places API yang diluncurkan pada 2023-24 dan Routes API yang diluncurkan pada 2023.

Biasanya, saat pengguna mengemudi ke lokasi menarik (POI), mereka sebenarnya memerlukan navigasi ke lokasi terdekat seperti tempat parkir atau titik akses. Bayangkan pengemudi yang perlu pergi ke bandara atau pusat belanja. Saat menuju bandara, pengemudi mencoba mencapai terminal atau titik penurunan penumpang, bukan ke pusat kompleks bandara. Demikian pula, lahan parkir di samping pusat perbelanjaan mungkin merupakan opsi yang jauh lebih baik bagi pengguna yang memiliki mobil. Dalam hal ini, saat mengembangkan aplikasi atau layanan untuk memandu pengemudi, temukan lokasi yang akan dituju terlebih dahulu, lalu tawarkan tujuan opsional kepada pengemudi di dekat lokasi tersebut. Pendekatan ini memungkinkan Anda memberikan layanan yang lebih baik kepada pelanggan dan menunjukkan bahwa Anda menghargai waktu mereka, dengan upaya pengembangan yang kecil tetapi cerdas yang memanfaatkan data lokasi yang disediakan oleh Google Maps Platform.

Diagram sistem

Kami akan menunjukkan cara menggunakan Places API baru dan Routes API secara berurutan atau kombinasi untuk mengidentifikasi lokasi yang tepat untuk parkir di samping tujuan Anda. Solusi ini bertujuan untuk menghilangkan ketidakpastian dan beberapa interaksi untuk menemukan tempat parkir saat mengemudi setelah lebih dekat ke tujuan akhir. Lihat dua contoh cara penerapan kasus ini secara mendetail.

Contoh 1 - objek wisata tanpa tempat parkir

Pilih lokasi yang tidak terhubung langsung ke tepi jalan sehingga rute harus diambil secara terpisah, tujuan adalah Notre Dame di Paris dan sebagai titik awal, kita akan menggunakan stasiun kereta api Gare de l'Est (48.87697775149635, 2.3592247806755564).

Gare l'Est

Sopir meninggalkan stasiun sekitar 16 menit ke utara Notre Dame. Notre Dame adalah objek wisata terkenal di sebuah pulau dengan akses jembatan, beberapa jalan satu arah, dan tidak ada tempat parkir besar di dekatnya, sehingga ini akan menjadi tantangan yang menarik.

  1. Permintaan Places API

Contoh permintaan Places API ini menggunakan penelusuran teks untuk menemukan Notre Dame. Lihat dokumentasi developer untuk mengetahui detailnya. "$APIKEY" dalam contoh ini adalah kunci API yang Anda miliki untuk API Places dan Routes Google Maps Platform yang diaktifkan di Konsol Google Cloud. Untuk penjelasan yang lebih mendetail, lihat dokumentasi untuk memulai Google Maps Platform.

Permintaan Places API baru memiliki format baru. Kolom respons tidak lagi tetap dan sebagai developer, Anda harus menentukan fieldmask di header. Penggunaan fieldmask ditentukan dalam dokumentasi.

curl -X POST --data @notre_dame.json \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: $APIKEY" \
-H 'X-Goog-FieldMask: places.id,places.displayName,places.formattedAddress,places.location' \
'https://places.googleapis.com/v1/places:searchText'

Dengan konten "notre_date.json" untuk parameter penelusuran:

{
   "textQuery": "Notre Dame, Paris",
   "languageCode": "en"
}

Respons untuk permintaan di atas memberikan koordinat lintang & bujur berikut:

{
  "places": [
    {
      "id": "ChIJATr1n-Fx5kcRjQb6q6cdQDY",
      "formattedAddress": "6 Parvis Notre-Dame - Pl. Jean-Paul II, 75004 Paris, France",
      "location": {
        "latitude": 48.852968200000007,
        "longitude": 2.3499021
      },
      "displayName": {
        "text": "Cathédrale Notre-Dame de Paris",
        "languageCode": "en"
      }
    }
  ]
}

Seperti yang dapat Anda lihat, koordinat tersebut memang menunjukkan Notre Dame.

Foto pintu masuk Notre Dame Peta area Notre Dame

Sebagai developer atau penyedia layanan, sebaiknya minta pengemudi secara otomatis "Mencari tempat parkir di dekat Notre Dame?" atau jika pengemudi memiliki kendaraan listrik, Anda mungkin ingin menelusuri SPKLU. Pengalaman pengguna akan berbeda-beda, bergantung pada perangkat dan layar, tetapi teks dialog halus yang menghilang setelah beberapa saat dapat dipertimbangkan dalam hal ini. Untuk menemukan tempat parkir di dekat Notre Dame, lakukan penelusuran Places API terdekat dengan jenis "parking" dan "electric_vehicle_charging_station" dengan radius 500 meter. Contoh berikut akan membiaskan hasil ke area parkir dalam jarak 500 meter dari Notre Dame.

curl -X POST -d '{
  "includedTypes": ["parking", "electric_vehicle_charging_station"],
  "maxResultCount": 10,
  "rankPreference": "DISTANCE",
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 48.852968200000007,
        "longitude": 2.3499021},
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: $APIKEY" \
-H "X-Goog-FieldMask: places.displayName,places.location" \
https://places.googleapis.com/v1/places:searchNearby

Hasil pertama adalah SPKLU di 48.854981, 2.350629, meskipun saat Anda menjalankan contoh ini, hasilnya mungkin berbeda. Gunakan lokasi ini di bagian berikutnya saat kita melakukan permintaan Routes API.

  1. **Permintaan Routes API **

Untuk menemukan rute dari stasiun ke stasiun pengisian daya di dekat Notre Dame, Anda perlu melakukan permintaan Routes API. Cukup tetapkan parameter asal dan tujuan. Lihat dokumentasi developer untuk opsi lainnya.

curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 48.87697775149635,
        "longitude": 2.3592247806755564
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
       "latitude": 48.854981,
        "longitude": 2.350629
      }
    }
  },
  "travelMode": "DRIVE",
  "routingPreference": "TRAFFIC_AWARE",
  "departureTime": "2024-05-16T15:01:23.045123456Z",
  "computeAlternativeRoutes": false,
  "routeModifiers": {
    "avoidTolls": false,
    "avoidHighways": false,
    "avoidFerries": false
  },
  "languageCode": "en-US",
  "units": "METRIC"
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: $APIKEY" \
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs,routes.polyline.encodedPolyline' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

Respons Routes API biasanya berisi beberapa saran rute. Untuk menyertakan data rute dalam respons, tentukan "routes.legs" di fieldmask. Setiap rute terdiri dari beberapa "segmen" dan segmen tersebut berisi beberapa "langkah" yang menunjukkan jarak dan koordinat perjalanan. Untuk menemukan koordinat akhir yang dapat dijangkau dengan mobil, gunakan kolom "endLocation" dari langkah terakhir dari segmen terakhir dalam rute yang Anda pilih. "latitude": 48.854937299999996, "longitude": 2.3505841999999997

Lokasi ini mungkin tampak bukan pilihan pertama, tetapi saat melihat peta atau Google Street View, Anda akan menemukan bahwa lokasi ini berada dalam jarak jalan kaki yang sangat singkat, sekitar 6-7 menit, dari Notre Dame.

Rute ke Notre Dame

Rute jalan kaki dari tempat parkir SPKLU ke Notre Dame

Ringkasan untuk contoh 1

Seperti yang dapat Anda lihat, menemukan area parkir untuk mobil hanya memerlukan beberapa panggilan API dan menampilkan saran kepada pengemudi. Hal ini menghemat waktu pengguna karena mereka tidak perlu mengemudi di jalan satu arah atau mencari tempat untuk memarkir mobil di objek wisata yang ramai. Sebagai ringkasan, kita melakukan permintaan API berikut:

  • Permintaan penelusuran teks Places API untuk menemukan koordinat Notre Dame
  • Penelusuran Places API di sekitar untuk menemukan area parkir dengan stasiun pengisian daya kendaraan listrik dalam jarak 500 meter dari koordinat tersebut
  • Permintaan Routes API untuk menemukan rute ke SPKLU

Contoh 2 - Memandu ke terminal di bandara besar

Peta bandara Heathrow

Pertimbangkan contoh lain saat pengemudi mencoba menjangkau area besar yang memiliki beberapa lokasi, POI, atau titik penurunan potensial. Pengemudi berangkat dari stadion Wembley, Inggris Raya (51.557263604707224, -0.2794575145680608) dan mencoba menuju terminal 5 bandara London Heathrow.

Keunggulan pelengkapan otomatis Places API baru adalah kemampuan untuk menentukan jenis utama sebagai kriteria penelusuran yang dikombinasikan dengan API yang memprediksi sub-tempat sebagai potensi hasil penelusuran. Dalam hal ini, penelusuran bandara juga akan menampilkan terminal. Anda dapat menemukan daftar lengkap jenis yang akan disertakan atau dikecualikan dalam dokumentasi.

curl -X POST -d '{
  "input": "Heathrow",
  "includedPrimaryTypes": ["airport"]
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: $APIKEY" \
https://places.googleapis.com/v1/places:autocomplete

Kueri di atas memberi kita daftar terminal dan setiap titik penjemputan di terminal tersebut. Dari daftar hasil, kita dapat menemukan "London Heathrow Airport Terminal 5" dan ID tempatnya:

"place_id" : "ChIJo21hnPxxdkgRksRL0KQRWII",

Dengan menggunakan parameter "placeId", kita dapat memberi tahu Routes API bahwa kita mencoba menjangkau suatu tempat, bukan beberapa koordinat arbitrer.

curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 51.557263604707224,
        "longitude": -0.2794575145680608
      }
    }
  },
  "destination":{
    "placeId": "ChIJo21hnPxxdkgRksRL0KQRWII"
  },
  "travelMode": "DRIVE",
  "routingPreference": "TRAFFIC_AWARE",
  "departureTime": "2024-05-16T15:01:23.045123456Z",
  "computeAlternativeRoutes": false,
  "languageCode": "en-US",
  "units": "METRIC"
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: $APIKEY" \
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs,routes.polyline.encodedPolyline' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

Sekali lagi, seperti pada contoh sebelumnya, dengan membaca semua langkah dalam respons JSON, Anda akan menemukan bagian terakhir perjalanan dan koordinat lintang & bujur lokasi akhir (51.4714348, "longitude": -0.48967890000000003).

Terminal 5 Street View

Ringkasan untuk contoh 2

Seperti pada contoh sebelumnya, upaya pengembangan untuk memberikan panduan yang lebih baik kepada pengemudi sangat kecil dan manfaat penghematan waktu bagi pengemudi dapat diukur. Kami melakukan permintaan berikut:

  • Permintaan autocomplete Places API (baru) untuk menemukan terminal 5 bandara Heathrow
  • Permintaan Routes API untuk mendapatkan rute dari Wembley ke terminal 5

Contoh ini hanya memberikan gambaran tentang fitur Places API baru. Lihat beberapa jenis tempat baru seperti landasan udara dan bandara internasional.

Kesimpulan

Seperti yang dapat Anda lihat, upaya pengembangan yang diperlukan untuk memberikan layanan premium kepada pelanggan yang bepergian dengan mobil relatif kecil dan Anda dapat menunjukkan cara Anda memikirkan kebutuhan pelanggan.

Untuk tujuan pengembangan, Anda dapat menggunakan banyak library dan alat yang tersedia untuk membantu Anda mem-build layanan bagi pelanggan. Lihat repositori GitHub untuk Google Maps Platform kami yang tersedia secara publik.

Tindakan Berikutnya

Memulai GMP : https://developers.google.com/maps/get-started

Bacaan lebih lanjut yang disarankan

Dokumentasi pelengkapan otomatis Places API (baru): https://developers.google.com/maps/documentation/places/web-service/place-autocomplete

Dokumentasi Routes API: https://developers.google.com/maps/documentation/routes

Kontributor

Penulis utama: Mikko Toivanen | Engineer Solusi Google Maps Platform