Skema URL Google Maps untuk iOS

Pada perangkat yang menjalankan iOS 9 dan yang lebih baru, Anda dapat menggunakan Link Universal untuk meluncurkan Google Maps jika Anda memiliki URL Google Maps.

Anda bisa menggunakan skema URL Google Maps untuk meluncurkan Aplikasi Google Maps untuk iOS dan melakukan penelusuran, mendapatkan petunjuk arah permintaan lokasi, dan menampilkan tampilan peta. Saat Anda meluncurkan Google Maps, paket Anda {i>ID <i}secara otomatis dikirim sebagai bagian dari permintaan.

Anda tidak memerlukan kunci Google API untuk menggunakan skema URL Google Maps.

Dukungan Google Maps untuk iOS Universal Link di perangkat yang menjalankan iOS 9 atau yang lebih baru.

Jika URL Anda cocok dengan ekspresi reguler berikut, dan perangkat sedang berjalan iOS 9 atau yang lebih baru, sebaiknya gunakan 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 menyetel opsi di URL yang akan diteruskan ke meluncurkan aplikasi. Aplikasi Google Maps untuk iOS mendukung URL berikut skema:

  • comgooglemaps:// dan comgooglemaps-x-callback:// - Skema ini memungkinkan Anda meluncurkan aplikasi Google Maps untuk iOS dan melakukan salah satu tindakan:

    • Menampilkan peta di lokasi dan tingkat zoom yang ditetapkan.
    • Menelusuri lokasi atau tempat, dan menampilkannya di peta.
    • Meminta rute dari satu lokasi ke lokasi lain. Rute dapat ditampilkan untuk empat moda transportasi: mengemudi, berjalan, bersepeda, dan umum transportasi umum.
    • Tambahkan navigasi ke aplikasi Anda.
    • Melalui iOS 8, keluarkan callback ketika aplikasi telah selesai, menggunakan comgooglemaps-x-callback:// {i>Callback<i} sering digunakan untuk mengembalikan pengguna ke aplikasi yang awalnya membuka Google Maps untuk iOS. Perlu diketahui bahwa di iOS 9, sistem secara otomatis menyediakan tombol "Back to" tautan di sudut kiri bilah status.
  • comgooglemapsurl:// - Skema ini memungkinkan Anda meluncurkan aplikasi Google Maps untuk iOS menggunakan URL yang berasal dari situs Google Maps desktop. Artinya Anda dapat memberikan pengalaman seluler native kepada pengguna, bukan hanya memuat situs Google Maps.

    • URL asli dapat untuk maps.google.com, atau untuk google.com/maps, atau menggunakan domain negara tingkat atas yang valid, bukan com. Anda juga dapat meneruskan URL pengalihan goo.gl/maps.
    • Anda dapat memberikan callback menggunakan x-source dan x-success parameter dengan skema URL comgooglemapsurl://.

Meluncurkan aplikasi Google Maps untuk iOS dan menjalankan fungsi tertentu

Untuk meluncurkan aplikasi Google Maps untuk 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 harus terlebih dahulu memverifikasi bahwa aplikasi telah diinstal. Aplikasi dapat memeriksa bahwa URL skema ini 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 pusat area pandang peta. Diformat sebagai koma string latitude,longitude yang terpisah.
  • mapmode: Menetapkan jenis peta yang ditampilkan. Dapat ditetapkan ke: standard atau streetview. Jika tidak ditentukan, setelan aplikasi saat ini akan data
  • views: Mengaktifkan/menonaktifkan tampilan tertentu. Dapat ditetapkan ke: satellite, traffic, atau transit. Beberapa nilai dapat diatur menggunakan pemisah koma. Jika parameter ditentukan tanpa nilai, maka menghapus semua tampilan.
  • zoom: Menentukan tingkat zoom peta.

Contoh URL ini menampilkan peta yang berpusat di New York pada tingkat zoom 14 dengan tampilan traffic di:

comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic

Peta lalu lintas New York

Beberapa contoh tambahan adalah:

comgooglemaps://?center=37.788463,-122.392545&zoom=12
comgooglemaps://?center=46.414382,10.013988&mapmode=streetview

Gunakan skema ini untuk menampilkan kueri penelusuran di lokasi tampilan yang terlihat yang ditetapkan.

Parameter

Selain parameter yang digunakan untuk menampilkan peta, Search mendukung q .

  • q: String kueri untuk penelusuran Anda.

Contoh URL ini untuk menelusuri “Pizza” di sekitar lokasi yang ditentukan:

comgooglemaps://?q=Pizza&center=37.759748,-122.427135

Pizza di Sekitar

Beberapa contoh tambahan adalah:

comgooglemaps://?q=Steamers+Lane+Santa+Cruz,+CA&center=37.782652,-122.410126&views=satellite,traffic&zoom=15
comgooglemaps://?q=Google+Japan,+Minato,+Tokyo,+Japan&center=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. Dapat berupa lintang, bujur, atau alamat berformat kueri. Jika berupa kueri {i>string<i} yang mengembalikan lebih dari satu hasil, hasil pertama adalah dipilih. Jika nilainya dibiarkan kosong, maka lokasi pengguna saat ini data yang akan digunakan.
  • daddr: Menetapkan titik akhir untuk penelusuran rute. Memiliki format dan perilaku yang sama seperti saddr.
  • directionsmode: Metode transportasi. Dapat ditetapkan ke: driving, transit, bicycling atau walking.

URL contoh menampilkan rute transportasi umum antara Google NYC dan JFK Airport:

comgooglemaps://?saddr=Google+Inc,+8th+Avenue,+New+York,+NY&daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York&directionsmode=transit

Rute transportasi umum

Beberapa contoh tambahan adalah:

comgooglemaps://?saddr=Google,+1600+Amphitheatre+Parkway,+Mountain+View,+CA+94043&daddr=Google+Inc,+345+Spear+Street,+San+Francisco,+CA&center=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&center=37.423725,-122.0877&directionsmode=walking&zoom=17

Menentukan URL callback

Jika Anda ingin menentukan URL callback, Anda harus menggunakan metode Skema URL comgooglemaps-x-callback://. Skema ini mematuhi Spesifikasi x-callback-url. Saat Anda menelepon aplikasi Google Maps untuk iOS dengan skema ini, aplikasi akan menampilkan tombol di bagian atas layar. Mengetuk tombol ini akan melakukan callback ke URL yang yang ditentukan.

Permintaan ke comgooglemaps-x-callback:// harus dalam bentuk:

comgooglemaps-x-callback://?parameters

Parameter

Skema URL x-callback menerima parameter yang sama dengan comgooglemaps:// Skema URL, dengan parameter tambahan berikut. Kedua parameter tidak diperlukan.

  • x-source — Nama aplikasi yang mengirimkan x-callback permintaan. Nama pendek lebih disukai.
  • x-success — URL yang akan dipanggil setelah selesai. Seringkali hal ini akan menjadi skema URL untuk aplikasi Anda sendiri, yang memungkinkan pengguna kembali ke situs aslinya aplikasi.

Perhatikan bahwa aplikasi Anda harus mendaftarkan skema URL-nya sendiri agar dapat merespons URL callback.

  1. Pastikan aplikasi Anda telah mendaftarkan skema URL yang dapat merespons ke permintaan callback.
  2. Teruskan label untuk tombol callback di parameter x-source.
  3. Teruskan URL callback dalam parameter x-success.

Contoh berikut akan meluncurkan aplikasi Google Maps untuk iOS dan menampilkan peta yang berpusat di New York. Aplikasi juga akan menampilkan tombol berlabel "SourceApp". Saat "SourceApp" diklik, aplikasi Google Maps untuk iOS akan menerbitkan 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 untuk 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 makanan penutup.

comgooglemaps-x-callback://?q=dessert&center=37.759748,-122.427135
   &x-success=sourceapp://?resume=true
   &x-source=Nom+Nom

Menambahkan navigasi ke aplikasi Anda

Meluncurkan aplikasi Google Maps for iOS dengan permintaan rute adalah cara mudah untuk memberi pengguna akses 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. Tujuan kode tersebut akan melakukan hal berikut:

  1. Pastikan skema URL comgooglemaps-x-callback:// tersedia.
  2. Meluncurkan aplikasi Google Maps for iOS, dan meminta rute ke JFK Airport di Kota New York. Kosongkan alamat awal untuk meminta rute dari lokasi pengguna saat ini.
  3. Menambahkan tombol berlabel "AirApp" ke aplikasi Google Maps untuk iOS. Tombol label ditentukan oleh parameter x-source.
  4. 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 di database, Anda dapat menggunakan skema ini untuk membuka URL di aplikasi Google Maps untuk iOS, sehingga menawarkan pengalaman native terbaik kepada pengguna.

  1. Ganti skema http:// atau https:// dengan comgooglemapsurl://.
  2. Jika Anda ingin menggunakan callback, sertakan x-source dan x-success parameter. Skema ini mematuhi spesifikasi x-callback-url.

Format URL Google Maps yang didukung

Skema comgooglemapsurl:// mendukung URL yang cocok dengan URL reguler ekspresi, dengan {TLD} merujuk ke domain negara tingkat atas apa pun yang valid. Garis (line) jeda ditambahkan untuk kejelasan:

(http(s?)://)?
((maps\.google\.{TLD}/)|
 ((www\.)?google\.{TLD}/maps/)|
 (goo.gl/maps/))
.*

Memeriksa ketersediaan aplikasi Google Maps

Pertama, pastikan bahwa aplikasi Google Maps untuk 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 umum:

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 umum:

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 meminta 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 untuk iOS dan menampilkan peta dengan rute ke Tokyo Tower, seperti ditetapkan dalam URL Google Maps asli (di atas). Aplikasi ini juga akan menampilkan tombol berlabel &quot;SourceApp&quot;. Saat "SourceApp" diklik, aplikasi Google Maps untuk 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