Di perangkat yang menjalankan iOS 9 dan yang lebih baru, Anda dapat menggunakan Universal Link untuk meluncurkan Google Maps jika memiliki URL Google Maps.
Anda dapat menggunakan skema URL Google Maps untuk meluncurkan aplikasi Google Maps for iOS dan melakukan penelusuran, mendapatkan permintaan rute, dan menampilkan tampilan peta. Saat Anda meluncurkan Google Maps, ID paket Anda akan otomatis dikirim sebagai bagian dari permintaan.
Anda tidak memerlukan kunci Google API untuk menggunakan skema URL Google Maps.
Link Universal dan Google Maps
Google Maps untuk iOS mendukung Link Universal di perangkat yang menjalankan iOS 9 atau yang lebih baru.
Jika URL Anda cocok dengan ekspresi reguler berikut, dan perangkat menjalankan iOS 9 atau yang lebih baru, sebaiknya pertimbangkan untuk menggunakan metode openURL: secara langsung.
(http(s?)://)?
((maps\.google\.{TLD}/)|
((www\.)?google\.{TLD}/maps/)|
(goo.gl/maps/))
.*
Misalnya,
Swift
UIApplication.shared.openURL(URL(string:"https://www.google.com/maps/@42.585444,13.007813,6z")!)
Objective-C
[[UIApplication sharedApplication] openURL:
[NSURL URLWithString:@"https://www.google.com/maps/@42.585444,13.007813,6z"]];
Ringkasan
Skema URL memungkinkan Anda meluncurkan aplikasi iOS native dari aplikasi iOS lain atau aplikasi web. Anda dapat menetapkan opsi di URL yang akan diteruskan ke aplikasi yang diluncurkan. Aplikasi Google Maps for iOS mendukung skema URL berikut:
comgooglemaps://
dancomgooglemaps-x-callback://
- Skema ini memungkinkan Anda meluncurkan aplikasi Google Maps for iOS dan melakukan salah satu dari beberapa tindakan:- Menampilkan peta di lokasi dan dengan tingkat zoom yang ditetapkan.
- Menelusuri lokasi atau tempat, dan menampilkannya di peta.
- Meminta rute dari satu lokasi ke lokasi lainnya. Rute dapat ditampilkan untuk empat mode transportasi: mengemudi, berjalan kaki, bersepeda, dan transportasi umum.
- Menambahkan navigasi ke aplikasi Anda.
- Melalui iOS 8, keluarkan callback saat aplikasi selesai, menggunakan
comgooglemaps-x-callback://
. Callback sering digunakan untuk mengembalikan pengguna ke aplikasi yang awalnya membuka Google Maps untuk iOS. Perhatikan bahwa di iOS 9, sistem akan otomatis menyediakan link "Kembali ke" di sudut kiri status bar.
comgooglemapsurl://
- Skema ini memungkinkan Anda meluncurkan aplikasi Google Maps for iOS menggunakan URL yang berasal dari situs Google Maps desktop. Artinya, Anda dapat memberikan pengalaman seluler native kepada pengguna, bukan sekadar memuat situs Google Maps.- URL asli dapat berupa
maps.google.com
, ataugoogle.com/maps
, atau menggunakan domain negara level teratas yang valid, bukancom
. Anda juga dapat meneruskan URL pengalihangoo.gl/maps
. - Anda dapat mengeluarkan callback menggunakan parameter
x-source
danx-success
dengan skema URLcomgooglemapsurl://
.
- URL asli dapat berupa
Meluncurkan aplikasi Google Maps untuk iOS dan menjalankan fungsi tertentu
Untuk meluncurkan aplikasi Google Maps for iOS dan secara opsional melakukan salah satu fungsi yang didukung, gunakan skema URL dengan bentuk berikut:
comgooglemaps://?parameters
atau:
comgooglemaps-x-callback://?parameters
Parameter nanti dijelaskan secara detail dalam dokumen ini.
Memeriksa ketersediaan aplikasi Google Maps di perangkat
Sebelum menyajikan salah satu URL ini kepada pengguna di aplikasi, Anda terlebih dahulu harus memverifikasi bahwa aplikasi telah diinstal. Aplikasi Anda dapat memeriksa apakah skema URL tersedia dengan kode berikut:
Swift
UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)
Objective-C
[[UIApplication sharedApplication] canOpenURL:
[NSURL URLWithString:@"comgooglemaps://"]];
Misalnya, untuk menampilkan peta Central Park di New York, Anda dapat menggunakan kode berikut:
Swift
if (UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)) {
UIApplication.shared.openURL(URL(string:
"comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic")!)
} else {
print("Can't use comgooglemaps://");
}
Objective-C
if ([[UIApplication sharedApplication] canOpenURL:
[NSURL URLWithString:@"comgooglemaps://"]]) {
[[UIApplication sharedApplication] openURL:
[NSURL URLWithString:@"comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic"]];
} else {
NSLog(@"Can't use comgooglemaps://");
}
Menampilkan peta
Gunakan skema URL untuk menampilkan peta pada tingkat zoom dan lokasi yang ditetapkan. Anda juga dapat menempatkan tampilan lain di atas peta, atau menampilkan gambar Street View.
Parameter
Semua parameter berikut ini bersifat opsional. Jika tidak ada parameter yang ditetapkan, skema URL akan meluncurkan aplikasi Google Maps untuk iOS.
center
: Ini adalah titik tengah area pandang peta. Diformat sebagai stringlatitude,longitude
yang dipisahkan koma.mapmode
: Menetapkan jenis peta yang ditampilkan. Dapat disetel ke:standard
ataustreetview
. Jika tidak ditentukan, setelan aplikasi saat ini akan digunakan.views
: Mengaktifkan/menonaktifkan tampilan tertentu. Dapat disetel ke:satellite
,traffic
, atautransit
. Beberapa nilai dapat ditetapkan menggunakan pemisah koma. Jika parameter ditetapkan tanpa nilai, parameter tersebut akan menghapus semua tampilan.zoom
: Menentukan tingkat zoom peta.
Contoh URL ini menampilkan peta yang berpusat di New York pada tingkat zoom 14 dengan tampilan lalu lintas diaktifkan:
comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic
Beberapa contoh tambahan adalah:
comgooglemaps://?center=37.788463,-122.392545&zoom=12
comgooglemaps://?center=46.414382,10.013988&mapmode=streetview
Telusuri
Gunakan skema ini untuk menampilkan kueri penelusuran di lokasi tampilan yang terlihat yang ditetapkan.
Parameter
Selain parameter yang digunakan untuk menampilkan peta, Search mendukung parameter q
.
q
: String kueri untuk penelusuran Anda.
URL contoh ini akan menelusuri “Pizza” di sekitar lokasi yang ditetapkan:
comgooglemaps://?q=Pizza¢er=37.759748,-122.427135
Beberapa contoh tambahan adalah:
comgooglemaps://?q=Steamers+Lane+Santa+Cruz,+CA¢er=37.782652,-122.410126&views=satellite,traffic&zoom=15
comgooglemaps://?q=Google+Japan,+Minato,+Tokyo,+Japan¢er=35.660888,139.73073&zoom=15&views=transit
Menampilkan rute
Gunakan skema ini untuk meminta dan menampilkan arah di antara dua lokasi. Anda juga bisa menetapkan moda transportasi.
Parameter
saddr
: Menetapkan titik awal untuk penelusuran rute. Ini dapat berupa lintang, bujur, atau alamat berformat kueri. Jika string kueri menampilkan lebih dari satu hasil, hasil pertama akan dipilih. Jika nilainya dibiarkan kosong, lokasi pengguna saat ini akan digunakan.daddr
: Menetapkan titik akhir untuk penelusuran rute. Memiliki format dan perilaku yang sama sepertisaddr
.directionsmode
: Metode transportasi. Dapat ditetapkan ke:driving
,transit
,bicycling
, atauwalking
.
Contoh URL menampilkan rute transportasi umum antara Google NYC dan Bandara JFK:
comgooglemaps://?saddr=Google+Inc,+8th+Avenue,+New+York,+NY&daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York&directionsmode=transit
Beberapa contoh tambahan adalah:
comgooglemaps://?saddr=Google,+1600+Amphitheatre+Parkway,+Mountain+View,+CA+94043&daddr=Google+Inc,+345+Spear+Street,+San+Francisco,+CA¢er=37.422185,-122.083898&zoom=10
comgooglemaps://?saddr=2025+Garcia+Ave,+Mountain+View,+CA,+USA&daddr=Google,+1600+Amphitheatre+Parkway,+Mountain+View,+CA,+United+States¢er=37.423725,-122.0877&directionsmode=walking&zoom=17
Menentukan URL callback
Jika ingin menentukan URL callback, Anda harus menggunakan
skema URL comgooglemaps-x-callback://
. Skema ini mematuhi
spesifikasi x-callback-url. Saat Anda memanggil aplikasi Google Maps for iOS
dengan skema ini, aplikasi akan menampilkan tombol di bagian atas
layar. Mengetuk tombol ini akan mengeluarkan callback ke URL yang
telah Anda tentukan.
Permintaan ke comgooglemaps-x-callback://
harus dalam bentuk:
comgooglemaps-x-callback://?parameters
Parameter
Skema URL x-callback menerima parameter yang sama seperti skema URL comgooglemaps://
, dengan parameter tambahan berikut. Kedua parameter
diperlukan.
x-source
— Nama aplikasi yang mengirimkan permintaan x-callback. Nama pendek lebih disukai.x-success
— URL yang akan dipanggil saat selesai. Sering kali ini akan menjadi skema URL untuk aplikasi Anda sendiri, yang memungkinkan pengguna kembali ke aplikasi asli.
Perhatikan bahwa aplikasi Anda harus mendaftarkan skema URL-nya sendiri agar dapat merespons URL callback.
- Pastikan aplikasi Anda telah mendaftarkan skema URL yang dapat merespons permintaan callback.
- Teruskan label untuk tombol callback dalam parameter
x-source
. - Teruskan URL callback dalam parameter
x-success
.
Contoh berikut akan meluncurkan aplikasi Google Maps for iOS dan menampilkan peta
yang berpusat di New York. Aplikasi juga akan menampilkan tombol berlabel "SourceApp".
Saat tombol "SourceApp" diklik, aplikasi Google Maps for iOS akan mengeluarkan callback ke skema URL fiktif, sourceapp://?resume=true
.
comgooglemaps-x-callback://?center=40.765819,-73.975866&zoom=14
&x-success=sourceapp://?resume=true
&x-source=SourceApp
Seperti pada skema URL comgooglemaps://
, Anda harus terlebih dahulu memverifikasi bahwa
aplikasi Google Maps for iOS tersedia di perangkat, dan mendukung
skema URL x-callback. Aplikasi Anda dapat memeriksa apakah skema URL tersedia
dengan kode berikut:
Swift
UIApplication.shared.canOpenURL(URL(string:"comgooglemaps-x-callback://")!)
Objective-C
[[UIApplication sharedApplication] canOpenURL:
[NSURL URLWithString:@"comgooglemaps-x-callback://"]];
Ini adalah contoh URL yang memungkinkan pengguna kembali ke aplikasi setelah menelusuri dessert.
comgooglemaps-x-callback://?q=dessert¢er=37.759748,-122.427135
&x-success=sourceapp://?resume=true
&x-source=Nom+Nom
Menambahkan navigasi ke aplikasi Anda
Meluncurkan aplikasi Google Maps for iOS bersama permintaan rute adalah cara mudah untuk
memberikan akses kepada pengguna Anda ke navigasi belokan-demi-belokan dari aplikasi Anda. Anda dapat menggunakan
skema URL comgooglemaps://
atau comgooglemaps-x-callback://
.
Cuplikan kode ini menunjukkan cara menggunakan skema comgooglemaps-x-callback://
untuk
meminta rute, lalu kembali ke aplikasi Anda saat pengguna sudah siap. Kode ini akan melakukan hal berikut:
- Pastikan skema URL
comgooglemaps-x-callback://
tersedia. - Luncurkan aplikasi Google Maps untuk iOS, lalu minta rute ke Bandara JFK di kota New York. Biarkan alamat awal kosong untuk meminta rute dari lokasi pengguna saat ini.
- Menambahkan tombol berlabel "AirApp" ke aplikasi Google Maps for iOS. Label
tombol ditentukan oleh parameter
x-source
. - Panggil skema URL fiktif,
sourceapp://
, saat pengguna mengklik tombol kembali.
Swift
let testURL = URL(string: "comgooglemaps-x-callback://")!
if UIApplication.shared.canOpenURL(testURL) {
let directionsRequest = "comgooglemaps-x-callback://" +
"?daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York" +
"&x-success=sourceapp://?resume=true&x-source=AirApp"
let directionsURL = URL(string: directionsRequest)!
UIApplication.shared.openURL(directionsURL)
} else {
NSLog("Can't use comgooglemaps-x-callback:// on this device.")
}
Objective-C
NSURL *testURL = [NSURL URLWithString:@"comgooglemaps-x-callback://"];
if ([[UIApplication sharedApplication] canOpenURL:testURL]) {
NSString *directionsRequest = @"comgooglemaps-x-callback://" +
@"?daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York" +
@"&x-success=sourceapp://?resume=true&x-source=AirApp";
NSURL *directionsURL = [NSURL URLWithString:directionsRequest];
[[UIApplication sharedApplication] openURL:directionsURL];
} else {
NSLog(@"Can't use comgooglemaps-x-callback:// on this device.");
}
Meluncurkan aplikasi Google Maps untuk iOS dari URL desktop Google Maps
Jika aplikasi Anda memiliki akses ke URL Google Maps yang sudah ada, seperti di halaman web atau dalam database, Anda dapat menggunakan skema ini untuk membuka URL di aplikasi Google Maps for iOS, sehingga menawarkan pengalaman native terbaik kepada pengguna Anda.
- Ganti skema
http://
atauhttps://
dengancomgooglemapsurl://
. - Jika Anda ingin menggunakan callback, sertakan parameter
x-source
danx-success
. Skema ini mematuhi spesifikasi x-callback-url.
Format URL Google Maps yang didukung
Skema comgooglemapsurl://
mendukung URL yang cocok dengan ekspresi reguler
ini, dengan {TLD}
mengacu ke setiap domain negara tingkat atas yang valid. Pemisah
baris ditambahkan agar lebih jelas:
(http(s?)://)?
((maps\.google\.{TLD}/)|
((www\.)?google\.{TLD}/maps/)|
(goo.gl/maps/))
.*
Memeriksa ketersediaan aplikasi Google Maps
Pertama-tama, verifikasi bahwa aplikasi Google Maps for iOS tersedia di perangkat, dan mendukung skema URL:
Swift
UIApplication.shared.canOpenURL(URL(string:"comgooglemaps-x-callback://")!)
Objective-C
[[UIApplication sharedApplication] canOpenURL:
[NSURL URLWithString:@"comgooglemapsurl://"]];
Contoh
Contoh URL Google Maps generik:
URL Google Maps Asal:
https://www.google.com/maps/preview/@42.585444,13.007813,6z
Menggunakan skema URL:
comgooglemapsurl://www.google.com/maps/preview/@42.585444,13.007813,6z
Contoh URL Google Maps generik:
URL Google Maps Asal:
https://maps.google.com/?q=@37.3161,-122.1836
Menggunakan skema URL:
comgooglemapsurl://maps.google.com/?q=@37.3161,-122.1836
Contoh permintaan rute ke Tokyo Tower dengan x-callback:
URL Google Maps Asal:
http://maps.google.com/maps?f=d&daddr=Tokyo+Tower,+Tokyo,+Japan&sll=35.6586,139.7454&sspn=0.2,0.1&nav=1
Contoh berikut akan meluncurkan aplikasi Google Maps for iOS dan menampilkan peta
bersama rute ke Tokyo Tower, sebagaimana ditetapkan dalam URL Google Maps asli
(di atas). Aplikasi juga akan menampilkan tombol berlabel
"SourceApp". Saat tombol "SourceApp" diklik, aplikasi Google Maps for iOS
akan mengeluarkan callback ke skema URL fiktif, sourceapp://?resume=true
.
comgooglemapsurl://maps.google.com/maps?f=d&daddr=Tokyo+Tower,+Tokyo,+Japan&sll=35.6586,139.7454&sspn=0.2,0.1&nav=1
&x-source=SourceApp
&x-success=sourceapp://?resume=true