Pernyataan penyangkalan
Produk/fitur ini akan berubah dan tidak tunduk pada perjanjian tingkat layanan (SLA) atau kebijakan penghentian penggunaan apa pun. Penerapan ini dapat berubah dalam rilis mendatang.
Terkait software contoh, file data, dan/atau kode sumber yang menyertai dokumentasi ini: Produk ini disediakan "apa adanya" dan tanpa jaminan apa pun, dan Google secara tegas menyangkal setiap dan semua jaminan, baik tersurat, tersirat, statuter, atau lainnya, termasuk, tetapi tidak terbatas pada, jaminan kelayakan untuk diperdagangkan, kesesuaian untuk tujuan tertentu, dan ketiadaan pelanggaran hak apa pun yang terkait dengan produk ini.
Melalui intent Android Automotive, Anda dapat meluncurkan navigasi di Google Maps.
Untuk informasi selengkapnya, lihat Intent Google Maps untuk Android.
Untuk informasi selengkapnya tentang cara menghadirkan aplikasi ke kendaraan yang menjalankan Android Auto atau Android Automotive OS, lihat Android untuk Mobil.
Ringkasan
Halaman ini menjelaskan intent yang dapat Anda gunakan dengan Google Maps untuk Android Automotive. Untuk dokumentasi developer Android yang mendetail, baca:
Permintaan intent
Untuk meluncurkan Google Maps untuk Android Automotive dengan intent, Anda harus membuat objek Intent terlebih dahulu, yang menentukan tindakan, URI, dan paketnya.
Tindakan. Semua intent Google Maps dipanggil sebagai tindakan View,
ACTION_VIEW
.URI. Intent Google Maps menggunakan string yang dienkode URI yang menentukan tindakan yang diinginkan, beserta beberapa data yang akan digunakan untuk melakukan tindakan tersebut.
Paket. Memanggil
setPackage("com.google.android.apps.maps")
memastikan bahwa aplikasi Google Maps untuk Android menangani Intent. Jika paket tidak ditetapkan, sistem akan menentukan aplikasi mana yang dapat menangani Intent. Jika ada beberapa aplikasi yang tersedia, Anda mungkin akan ditanya aplikasi mana yang ingin digunakan.
Setelah membuat Intent, Anda dapat meminta sistem untuk meluncurkan aplikasi
terkait dengan sejumlah cara. Metode umum adalah meneruskan Intent ke
metode startActivity()
. Sistem akan meluncurkan aplikasi yang diperlukan, dalam hal ini, Google Maps, dan memulai Aktivitas yang sesuai.
// Create a Uri from an intent string. Use the result to create an Intent.
Uri mapIntentUri =
Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia");
// Create an Intent from mapIntentUri. Set the action to ACTION_VIEW
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
// Make the Intent explicit by setting the Google Maps package
mapIntent.setPackage("com.google.android.apps.maps");
// Attempt to start an activity that can handle the Intent
startActivity(mapIntent);
Jika sistem tidak dapat mengidentifikasi aplikasi yang dapat merespons Intent, aplikasi Anda dapat mengalami error. Oleh karena itu, verifikasi terlebih dahulu bahwa aplikasi penerima diinstal sebelum Anda menampilkan salah satu intent ini kepada pengguna.
Untuk memverifikasi bahwa aplikasi tersedia untuk menerima intent, panggil
resolveActivity()
pada objek Intent
Anda. Jika hasilnya
bukan null, setidaknya ada satu aplikasi yang dapat menangani intent dan aman untuk
memanggil startActivity()
. Jika hasilnya null, Anda tidak boleh menggunakan intent
dan, jika memungkinkan, nonaktifkan fitur yang memanggil intent.
if (mapIntent.resolveActivity(getPackageManager()) != null) {
...
}
Misalnya, untuk meluncurkan navigasi belokan demi belokan ke Taronga Zoo di Sydney, Anda dapat menggunakan kode berikut:
Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
if (mapIntent.resolveActivity(getPackageManager()) != null) {
startActivity(mapIntent);
}
String kueri yang dienkode URI
Semua string yang diteruskan ke Maksud Google Maps harus dienkode dalam URI. Misalnya,
string "1st & Pike, Seattle" akan menjadi 1st%20%26%20Pike%2C%20Seattle
.
Spasi dalam string dapat dienkode dengan %20
atau diganti dengan tanda plus
(+).
Anda dapat menggunakan metode android.net.Uri parse()
untuk mengenkode string. Contoh:
Uri mapIntentUri = Uri.parse("google.navigation:q=" + Uri.encode("1st & Pike, Seattle"));
Meluncurkan navigasi belokan demi belokan
Gunakan intent ini untuk meluncurkan navigasi Google Maps dengan rute belokan demi belokan ke satu atau beberapa alamat atau koordinat yang ditentukan. Rute selalu diberikan dari lokasi pengguna saat ini.
google.navigation:q=a+street+address
google.navigation:q=latitude,longitude
google.navigation:place=placename
Parameter
Untuk meluncurkan navigasi, gunakan place
atau q
dengan waypoints
, yang bersifat opsional. Untuk
menandai titik jalan sebagai stasiun pengisian daya secara opsional, lihat Mengirim rencana perjalanan
kendaraan listrik ke Google Maps.
q
menetapkan endpoint untuk penelusuran navigasi. Ini dapat berupa lintang/bujur atau alamat berformat kueri. Jika string kueri yang menampilkan lebih dari satu hasil, hasil pertama akan dipilih.place
menetapkan endpoint ke rumah atau kantor. Tentukan rumah untuk menavigasi ke rumah pengguna, dan kantor untuk menavigasi ke tempat kerja pengguna.avoid
menetapkan fitur yang harus dihindari rute.avoid
bersifat opsional dan dapat ditetapkan ke satu atau beberapa dari:t
untuk tolh
untuk jalan rayaf
untuk feri
waypoints
menentukan satu atau beberapa tempat perantara untuk merutekan rute ke tujuan akhir yang ditentukan olehq
. Anda dapat menentukan beberapa titik jalan dengan menggunakan karakter pipa (|
) untuk memisahkan tempat—misalnya,Berlin,Germany|Paris,France
. Anda dapat menggunakan sebanyak mungkin titik jalan. Titik jalan akan ditambahkan ke rute dengan urutan yang sama seperti yang tercantum di URL. Setiap titik jalan dapat berupa alamat atau koordinat lintang/bujur yang dipisahkan koma; dan, Anda dapat memiliki alamat dan koordinat lintang/bujur dalam intent yang sama. String harus di-escape URL, sehingga titik jalan seperti "Berlin,Germany|Paris,France" harus dikonversi menjadiBerlin%2CGermany%7CParis%2CFrance
.
Contoh
Intent ini akan meminta navigasi belokan demi belokan ke Taronga Zoo, di Sydney Australia:
Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
Jika Anda tidak ingin membayar tol atau naik feri, Anda dapat meminta pemilihan rute yang mencoba menghindari situasi berikut:
Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia&avoid=tf");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
Atau, jika Anda lebih suka menavigasi ke rumah, gunakan:
Uri mapIntentUri = Uri.parse("google.navigation:place=home");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
Untuk meluncurkan navigasi belokan demi belokan ke tiga alamat berikut secara berurutan,
teruskan Taronga Zoo sebagai tujuan akhir q
, dan Google Sydney dan Sydney
Opera House sebagai titik jalan:
Google Sydney
Sydney Opera House
Taronga Zoo, Sydney Australia
Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia&waypoints=Google+Sydney%7CSydney+Opera+House");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
Serupa dengan q
, Anda dapat merepresentasikan titik jalan mana pun dengan lintang dan bujur yang dipisahkan koma, bukan alamat. Misalnya, untuk meluncurkan
navigasi yang sama saat meneruskan lintang bujur untuk Sydney Opera House, bukan
alamat:
Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia&waypoints=Google+Sydney%7C-33.856159,151.215256");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
Mengirim rencana perjalanan kendaraan listrik ke Google Maps
Gunakan intent navigasi multi-tujuan ini untuk menentukan beberapa tujuan sebagai perhentian pengisian daya kendaraan listrik (EV). Intent ini, yang memperluas intent multi-titik jalan, membantu pengemudi mempertahankan daya baterai kendaraan listrik yang memadai untuk mencapai tujuan mereka dengan menyinkronkan informasi SPKLU antara aplikasi perencanaan perjalanan kendaraan listrik dan Google Maps.
Untuk perhentian pengisian daya, intent perjalanan:
- Harus berisi nama dan lintang-bujur
- Secara opsional dapat berisi output daya, yang akan digunakan untuk menghitung waktu pengisian daya
Google menggunakan nama stasiun pengisian daya dan lintang-bujur untuk menemukan tempat stasiun pengisian daya yang cocok untuk menampilkan data lengkap seperti jenis konektor, total, kecepatan, dan ketersediaan real-time, metode pembayaran yang didukung, dan lokasi menarik (POI) host. Misalnya, rute mengemudi di dalam tempat parkir luar ruangan untuk bagian akhir
navigasi, jam buka, rating. Untuk memastikan bahwa stasiun pengisian daya
cocok dengan data Google, gunakan <brand name>
, misalnya ChargePoint
.
Parameter
Tujuan akhir
Untuk menetapkan SPKLU sebagai tujuan akhir, gunakan:
q
: Harus berisi nilai lintang-bujur SPKLU.q_type
:1
menentukan bahwa tujuan akhir adalah stasiun pengisian daya.q_name
: Nama tujuan akhir. Wajib jikaq_type
adalah1
.q_power_output_kw
: Angka ganda untuk output daya SPKLU dalam kilowatt. Opsional.
Titik jalan
Untuk titik jalan, semua parameter adalah array nilai yang dipisahkan |- dan paralel, dalam urutan yang sama dengan titik jalan, tidak termasuk tujuan akhir. Ketidakcocokan jumlah elemen dalam array paralel diperlakukan sebagai intent yang salah format.
Untuk menambahkan satu atau beberapa titik jalan SPKLU, gunakan parameter berikut, yang semuanya bersifat opsional. Jika salah satu tujuan ditandai sebagai SPKLU, nama titik jalan menjadi wajib untuk tujuan tersebut.
waypoints
: Daftar titik jalan seperti yang dijelaskan dalam intent navigasi peta belokan demi belokan. Harus berupa nilai lintang-bujur untuk titik jalan SPKLU.waypoint_types
: Jenis per titik jalan yang ditentukan sebagai angka.0
adalah perhentian apa pun (nilai default) dan1
adalah SPKLU.waypoint_names
: Nama titik jalan. Kolom ini wajib diisi untuk stasiun pengisian daya.waypoint_power_outputs_kw
: Angka ganda untuk daya stasiun pengisian daya dalam kilowatt. Untuk SPKLU, Anda dapat menentukan nilai output daya waypoint secara opsional, yang digunakan sebagai penggantian jika SPKLU yang cocok tidak ditemukan. Slot kosong berarti tidak ada nilai yang diberikan.
Perilaku pengalaman pengguna (UX)
Untuk intent perjalanan dengan beberapa tujuan, layar ringkasan rute akan ditampilkan, tetapi navigasi tidak dimulai secara otomatis.
Untuk intent yang diformat dengan benar, Google Maps akan menampilkan layar ringkasan rute untuk perjalanan. Layar ringkasan rute akan menampilkan semua titik perhentian dan tujuan akhir dari intent, dengan rekomendasi pengisian daya jika berlaku.
Untuk titik perhentian atau tujuan akhir yang ditandai sebagai SPKLU, Google Maps akan menelusuri tempat yang cocok di database Google.
Jika kecocokan ditemukan, Google Maps akan menggunakan data Google untuk menampilkan stasiun pengisian daya di antarmuka pengguna (UI) dan memberikan rekomendasi pengisian daya untuk stasiun pengisian daya. Jika kecocokan tidak ditemukan, data yang diberikan dalam intent untuk stasiun pengisian daya (lintang-bujur, nama, dan output daya) akan digunakan untuk menampilkan stasiun pengisian daya ini di UI dan memberikan rekomendasi pengisian daya di stasiun pengisian daya ini.
Contoh
Menavigasi ke tujuan akhir melalui beberapa SPKLU
Intent berikut menavigasi ke tujuan akhir, Port Macquarie NSW, melalui dua SPKLU, ChargePoint dan Evie.
Tujuan dalam urutan:
SPKLU ChargePoint (lokasi: -32.9599188,151.6240806, output daya: 6,6 kW)
Stasiun Pengisian Daya Evie (lokasi: -31.9432539,152.4699808, output daya: 350 kW)
Port Macquarie NSW
Uri mapIntentUri =
Uri.parse(
"google.navigation:q=Port+Macquarie+NSW"
+ "&waypoints=-32.9599188%2C151.6240806%7C-31.9432539%2C152.4699808"
+ "&waypoint_types=1%7C1"
+ "&waypoint_names=ChargePoint+Charging+Station%7CEvie+Charging+Station"
+ "&waypoint_power_outputs_kw=6.6%7C350");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
Output daya tidak diketahui
Jika nilai output daya tidak diketahui, kosongkan slot
waypoint_power_outputs_kw
yang relevan. Atau jika semua slot kosong, Anda tidak perlu menentukan parameter waypoint_power_outputs_kw
.
Tujuan dalam urutan:
SPKLU ChargePoint (lokasi: -32.9599188,151.6240806, output daya: tidak diketahui)
Port Macquarie NSW
Uri mapIntentUri =
Uri.parse(
"google.navigation:q=Port+Macquarie+NSW"
+ "&waypoints=-32.9599188%2C151.6240806"
+ "&waypoint_types=1"
+ "&waypoint_names=ChargePoint+Charging+Station");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
Menandai tujuan akhir sebagai SPKLU
Untuk menandai tujuan akhir sebagai stasiun pengisian daya, tentukan parameter q_type
, q_name
,
dan q_power_output_kw
.
Tujuan dalam urutan:
Taronga Zoo, Sydney Australia
SPKLU ChargePoint (lokasi: -32.9599188,151.6240806, output daya: tidak diketahui)
Stasiun Pengisian Daya Evie (lokasi: -31.9432539,152.4699808, output daya: 350 kW)
Uri mapIntentUri =
Uri.parse(
"google.navigation:q=-31.9432539,152.4699808&q_type=1&q_name=Evie+Charging+Station&q_power_output_kw=350"
+ "&waypoints=Taronga+Zoo%2C+Sydney+Australia%7C-32.9599188%2C151.6240806"
+ "&waypoint_types=0%7C1"
+ "&waypoint_names=%7CChargePoint+Charging+Station"
+ "&waypoint_power_outputs_kw=%7C");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
Intent tindakan
Intent tindakan berikut dengan antarmuka tersedia:
Tindakan | Deskripsi |
---|---|
geo.action:?act=mute |
Membisukan semua panduan suara navigasi. |
geo.action:?act=unmute |
Membunyikan panduan suara navigasi. |
geo.action:?act=show_traffic |
Menampilkan garis lalu lintas di peta. |
geo.action:?act=hide_traffic |
Menyembunyikan garis lalu lintas di peta. |
geo.action:?act=show_satellite |
Menampilkan citra satelit di peta. |
geo.action:?act=hide_satellite |
Menyembunyikan citra satelit di peta. |
geo.action:?act=query_next_turn |
Google Maps mengucapkan belokan berikutnya (hanya berfungsi saat menavigasi). |
geo.action:?act=distance_to_next_turn |
Google Maps mengucapkan jarak ke belokan berikutnya (hanya berfungsi saat menavigasi). |
geo.action:?act=time_to_next_turn |
Google Maps mengucapkan waktu ke belokan berikutnya (hanya berfungsi saat menavigasi). |
geo.action:?act=distance_to_destination |
Google Maps mengucapkan jarak ke tujuan (hanya berfungsi saat menavigasi). |
geo.action:?act=go_back |
Google Maps akan kembali ke layar sebelumnya di UI. |
geo.action:?act=query_current_road |
Google Maps mengucapkan jalan yang sedang dilalui. |
geo.action:?act=query_destination |
Google Maps akan mengucapkan tujuan. |
geo.action:?act=apply_electric_vehicle_connector_filter |
Menerapkan filter jenis konektor untuk hasil penelusuran SPKLU. |
geo.action:?act=remove_electric_vehicle_connector_filter |
Menghapus filter jenis konektor untuk hasil penelusuran SPKLU. |
geo.action:?act=apply_electric_vehicle_payment_filter |
Menerapkan filter pembayaran untuk hasil penelusuran stasiun pengisian kendaraan listrik umum. |
geo.action:?act=remove_electric_vehicle_payment_filter |
Menghapus filter pembayaran untuk hasil penelusuran stasiun pengisian kendaraan listrik umum. |
geo.action:?act=apply_electric_vehicle_fast_charging_filter |
Menerapkan filter pengisian daya cepat untuk hasil penelusuran SPKLU. |
geo.action:?act=remove_electric_vehicle_fast_charging_filter |
Menghapus filter pengisian daya cepat untuk hasil penelusuran SPKLU. |
geo.action:?act=avoid_tolls |
Jika pengguna sedang menavigasi, beri tahu Google Maps untuk menghindari rute dengan tol. Hal ini dapat menyebabkan rute diubah jika rute saat ini memiliki tarif tol. |
geo.action:?act=allow_tolls |
Jika pengguna sedang menavigasi, beri tahu Google Maps untuk mengizinkan rute dengan tol. Hal ini dapat menyebabkan perubahan rute jika mengizinkan tol akan menghasilkan rute yang lebih baik. |
geo.action:?act=avoid_ferries |
Jika pengguna sedang menavigasi, beri tahu Google Maps untuk menghindari rute dengan kapal feri. Hal ini dapat menyebabkan perubahan rute jika rute aktif saat ini memiliki kapal feri. |
geo.action:?act=allow_ferries |
Jika pengguna sedang menavigasi, beri tahu Google Maps untuk mengizinkan rute dengan feri. Hal ini dapat menyebabkan perubahan rute jika mengizinkan feri akan menghasilkan rute yang lebih baik. |
geo.action:?act=avoid_highways |
Jika pengguna sedang menavigasi, beri tahu Google Maps untuk menghindari rute dengan jalan tol. Hal ini dapat menyebabkan perubahan rute jika rute aktif saat ini memiliki jalan tol. |
geo.action:?act=allow_highways |
Jika pengguna sedang menavigasi, beri tahu Google Maps untuk mengizinkan rute dengan jalan tol. Hal ini dapat menyebabkan perubahan rute jika mengizinkan jalan tol akan menghasilkan rute yang lebih baik. |
geo.action:?act=eta |
Jika pengguna sedang menavigasi, Google Maps akan mengucapkan perkiraan waktu tiba di tujuan (misalnya, pukul 09.15). |
geo.action:?act=time_to_destination |
Jika pengguna sedang menavigasi, Google Maps akan mengucapkan perkiraan waktu ke tujuan (misalnya, 15 menit). |
geo.action:?act=exit_navigation |
Keluar dari navigasi. |
geo.action:?act=select_search_result&id=0 |
Jika hasil penelusuran saat ini ditampilkan di layar (lihat di bawah), mulai
navigasi ke hasil n berdasarkan parameter ID yang diberikan. Perhatikan
bahwa indeks berbasis 0 (yaitu, intent di atas akan memilih hasil
pertama dalam daftar).
|