iOS için Google Haritalar URL Şeması

iOS 9 ve sonraki sürümleri çalıştıran cihazlarda Google'ı başlatmak için Geçiş Bağlantıları Google Haritalar URL'si olduğunda Google Haritalar'ı kullanabilirsiniz.

Şunu başlatmak için Google Haritalar URL şemasını kullanabilirsiniz: iOS için Google Haritalar uygulaması'nda arama yapıp yol tarifi alabilirsiniz ve harita görünümlerini gösterebilir. Google Haritalar'ı başlattığınızda paketiniz tanımlayıcısı, isteğin parçası olarak otomatik olarak gönderilir.

Google Haritalar URL şemasını kullanmak için bir Google API anahtarına ihtiyacınız yoktur.

iOS için Google Haritalar desteği Evrensel Bağlantılar'ı seçin.

URL'niz aşağıdaki normal ifadeyle eşleşiyorsa ve cihaz çalışıyorsa iOS 9 veya daha yeni sürümleri kullanıyorsanız doğrudan openURL: yöntemini kullanmayı düşünebilirsiniz.

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

Örneğin,

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"]];

Genel Bakış

URL şeması, başka bir iOS uygulamasından yerel bir iOS uygulamasını başlatmanıza olanak tanır. veya web uygulaması. çalıştırılan bir uygulamadır. iOS için Google Haritalar uygulaması aşağıdaki URL'yi destekler şemalar:

  • comgooglemaps:// ve comgooglemaps-x-callback:// - Bu şemalar iOS için Google Haritalar uygulamasını başlatmanıza ve bu uygulamaları kullanarak işlemler:

    • Bir haritayı belirtilen bir konumda ve yakınlaştırma düzeyinde görüntüleyin.
    • Konumları veya yerleri arayın ve bir haritada görüntüleyin.
    • Bir konumdan diğerine yol tarifi isteyin. Yol tarifi döndürülebilir dört ulaşım modu için: araba, yürüme, bisiklet ve halka açık toplu taşıma.
    • Uygulamanıza navigasyon ekleyin.
    • iOS 8'de, uygulama tamamlandığında şunu kullanarak bir geri arama yapın: comgooglemaps-x-callback://. Geri çağırma işlevleri genellikle kullanıcıyı iOS için Google Haritalar'ı ilk açan uygulamaya geri döndürebilir. Lütfen iOS 9'da sistem otomatik olarak bir "Geri dön" öğesinin sol köşesindeki bağlantıyı tıklayın.
  • comgooglemapsurl:// - Bu şema, Google Haritalar uygulamasını başlatmanıza olanak tanır. masaüstü Google Haritalar web sitesinden türetilen bir URL kullanarak iOS için optimize edebilirsiniz. Bunun anlamı şudur: kullanıcılarınıza yalnızca kendileri yerine yerleşik bir mobil deneyim Google Haritalar web sitesi yükleniyor.

    • Orijinal URL maps.google.com veya google.com/maps için olabilir. veya com yerine geçerli herhangi bir üst düzey ülke alan adı kullanarak. goo.gl/maps yönlendirme URL'si de aktarabilirsiniz.
    • x-source ve x-success telefon numaralarını kullanarak geri arama yapabilirsiniz. parametrelerini comgooglemapsurl:// URL şemasına tabi tutun.

iOS için Google Haritalar uygulamasını başlatma ve belirli bir işlevi gerçekleştirme

iOS için Google Haritalar uygulamasını başlatmak ve isteğe bağlı olarak aşağıdaki biçimde bir URL şeması kullanın:

comgooglemaps://?parameters

veya:

comgooglemaps-x-callback://?parameters

Parametreler, bu belgenin ilerleyen bölümlerinde ayrıntılı olarak açıklanmıştır.

Cihazda Google Haritalar uygulamasının kullanılabilirliği kontrol ediliyor

Bu URL'lerden birini uygulamanızda bir kullanıcıya sunmadan önce uygulamanın yüklendiğini doğrulayın. Uygulamanız, URL'nin şeması aşağıdaki kodla kullanılabilir:

Swift

UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)

Objective-C

[[UIApplication sharedApplication] canOpenURL:
    [NSURL URLWithString:@"comgooglemaps://"]];

Örneğin, New York'taki Central Park'ın bir haritasını görüntülemek için şu kodu kullanabilirsiniz:

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://");
}

Harita görüntüleniyor

Haritayı belirtilen bir yakınlaştırma düzeyinde ve konumda görüntülemek için URL şemasını kullanın. Ayrıca, haritanızın üzerine başka görünümler ekleyebilir veya Street View görüntülerini gösterebilirsiniz.

Parametreler

Aşağıdaki parametrelerin tümü isteğe bağlıdır. Hiçbir parametre ayarlanmazsa URL şeması, iOS için Google Haritalar uygulamasını başlatır.

  • center: Bu, harita görünümünün merkez noktasıdır. Virgül olarak biçimlendirilir latitude,longitude ile ayrılmış dize.
  • mapmode: Gösterilen haritanın türünü ayarlar. Şuna ayarlanabilir: standard veya streetview. Belirtilmezse geçerli uygulama ayarları şu şekilde olur: kullanılır.
  • views: Belirli görünümleri etkinleştirir/devre dışı bırakır. Şuna ayarlanabilir: satellite, traffic veya transit. Birden çok değer, tek bir ayırıcı olarak sunar. Parametre herhangi bir değer olmadan belirtilirse tüm görünümleri temizleyin.
  • zoom: Haritanın yakınlaştırma düzeyini belirtir.

Bu örnek URL, haritayı New York'ta ortalanmış ve trafik görünümü:

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

New York trafik haritası

Bazı ek örnekler:

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

Arama sorgularını belirtilen bir görüntü alanı konumunda görüntülemek için bu şemayı kullanın.

Parametreler

Arama, bir haritayı görüntülemek için kullanılan parametrelere ek olarak q özelliğini de destekler parametresinden sonra bir değer girin.

  • q: Aramanızla ilgili sorgu dizesi.

Belirtilen konumda "Pizza" araması için örnek URL:

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

Yakındaki Pizza

Bazı ek örnekler:

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

Yol tarifi görüntüleniyor

İki konum arasında yol tarifi istemek ve görüntülemek için bu şemayı kullanın. Ulaşım şeklini de belirtebilirsiniz.

Parametreler

  • saddr: Yol tarifi aramaları için başlangıç noktasını ayarlar. Bu özellik, enlem,boylam veya sorgu biçimli bir adrestir. Bu bir sorguysa dizesi birden fazla sonuç döndürürse ilk sonuç seçili. Değer boş bırakılırsa kullanıcının mevcut konumu oluşturmak için kullanılır.
  • daddr: Yol tarifi aramaları için bitiş noktasını ayarlar. Şunlara sahip: saddr ile aynı biçim ve davranışa sahiptir.
  • directionsmode: Ulaşım yöntemi. Şuna ayarlanabilir: driving, transit, bicycling veya walking.

Örnek URL, Google NYC ve JFK Havaalanı arasındaki toplu taşıma yol tariflerini göstermektedir:

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

Toplu taşımayla yol tarifi

Bazı ek örnekler:

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

Geri çağırma URL'si belirtme

Bir geri çağırma URL'si belirtmek isterseniz comgooglemaps-x-callback:// URL şeması. Bu şema, x-callback-url spesifikasyonu. iOS için Google Haritalar uygulamasını aradığınızda bu şema ile uygulama, ekranın üst kısmında ekranda görebilirsiniz. Bu düğmeye dokunduğunuzda şu URL'ye geri arama yapılır: belirtir.

comgooglemaps-x-callback:// talepleri şu şekilde olmalıdır:

comgooglemaps-x-callback://?parameters

Parametreler

X geri çağırma URL şeması, comgooglemaps:// ile aynı parametreleri kabul eder Aşağıdaki ek parametrelere sahip URL şeması. Her iki parametre de gereklidir.

  • x-source — X geri çağırmasını gönderen uygulamanın adı isteği gönderin. Kısa adlar tercih edilir.
  • x-success — Tamamlandığında aranacak URL. Bu çoğu zaman kendi uygulamanız için, kullanıcıların orijinal sayfaya geri dönmesine olanak tanıyan bir URL şeması olmalıdır bir uygulamadır.

Uygulamanızın doğru URL şemasını kaydedebilmesi için geri çağırma URL'sine yanıt verme.

  1. Uygulamanızın, yanıt verebilecek bir URL şeması kaydettiğinden emin olun geri arama isteğine.
  2. x-source parametresindeki geri arama düğmesinin etiketini iletin.
  3. x-success parametresindeki geri çağırma URL'sini iletin.

Aşağıdaki örnekte iOS için Google Haritalar uygulaması başlatılır ve bir harita görüntülenir. New York’u açtım. Uygulama ayrıca "SourceApp" etiketli bir düğme görüntüler. "SourceApp"i düğmesi tıklandığında, iOS için Google Haritalar uygulaması hayali bir URL şemasına geri çağırma, sourceapp://?resume=true.

comgooglemaps-x-callback://?center=40.765819,-73.975866&zoom=14
   &x-success=sourceapp://?resume=true
   &x-source=SourceApp

comgooglemaps:// URL şemasında olduğu gibi, öncelikle iOS için Google Haritalar uygulaması cihazda mevcuttur ve x geri çağırma URL şeması. Uygulamanız, URL şemasının kullanılabilir olup olmadığını kontrol edebilir aşağıdaki kodla değiştirin:

Swift

UIApplication.shared.canOpenURL(URL(string:"comgooglemaps-x-callback://")!)

Objective-C

[[UIApplication sharedApplication] canOpenURL:
   [NSURL URLWithString:@"comgooglemaps-x-callback://"]];

Bu, kullanıcıların tatlıdır.

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

Uygulamanıza gezinme ekleme

iOS için Google Haritalar uygulamasını yol tarifi isteğiyle başlatmak, kullanıcılarınızın uygulamanızdan adım adım navigasyona erişmesini sağlayabilirsiniz. Tekliflerinizi otomatikleştirmek ve optimize etmek için comgooglemaps:// veya comgooglemaps-x-callback:// URL şemalarını kullanın.

Bu kod snippet'i, comgooglemaps-x-callback:// şemasının ve kullanıcı hazır olduğunda uygulamanıza geri dönebilir. İlgili içeriği oluşturmak için kullanılan kodu aşağıdaki işlemleri yapar:

  1. comgooglemaps-x-callback:// URL şemasının kullanılabildiğini doğrulayın.
  2. iOS için Google Haritalar uygulamasını başlatın ve şu konumda JFK Havalimanı için yol tarifi isteyin: New York şehri. Şuradan yol tarifi istemek için başlangıç adresini boş bırakın: Konumu Google'a gönderir.
  3. "AirApp" etiketli bir düğme ekle iOS için Google Haritalar uygulamasına. Düğme etiketi, x-source parametresiyle tanımlanır.
  4. Kullanıcılarsourceapp:// geri düğmesi.

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.");
}

Bir Google Haritalar masaüstü URL'sinden iOS için Google Haritalar uygulamasını başlatma

Uygulamanızın önceden var olan bir Google Haritalar URL'sine erişimi varsa (ör. bir web sayfası) veya bir veritabanında URL'yi açmak için bu şemayı kullanabilirsiniz. sunarak kullanıcılarınıza en iyi yerel deneyimi sunabilirsiniz.

  1. http:// veya https:// şemasını comgooglemapsurl:// ile değiştirin.
  2. Geri çağırma kullanmak istiyorsanız x-source ve x-success özelliklerini dahil edin. parametreleridir. Bu şema, x-callback-url spesifikasyonuna bağlıdır.

Desteklenen Google Haritalar URL biçimleri

comgooglemapsurl:// şeması, bu normalle eşleşen URL'leri destekler ifadesi ({TLD}, geçerli herhangi bir üst düzey ülke alan adını belirtir.) Çizgi Anlaşılırlık için aralar eklenir:

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

Google Haritalar uygulamasının kullanılabilirliği kontrol ediliyor

Öncelikle iOS için Google Haritalar uygulamasının cihazda kullanılabilir olduğunu doğrulayın ve URL şemasını destekler:

Swift

UIApplication.shared.canOpenURL(URL(string:"comgooglemaps-x-callback://")!)

Objective-C

[[UIApplication sharedApplication] canOpenURL:
   [NSURL URLWithString:@"comgooglemapsurl://"]];

Örnekler

Genel bir Google Haritalar URL'si örneği:

Orijinal Google Haritalar URL'si:

https://www.google.com/maps/preview/@42.585444,13.007813,6z

URL şemasını kullanarak:

comgooglemapsurl://www.google.com/maps/preview/@42.585444,13.007813,6z

Genel bir Google Haritalar URL'si örneği:

Orijinal Google Haritalar URL'si:

https://maps.google.com/?q=@37.3161,-122.1836

URL şemasını kullanarak:

comgooglemapsurl://maps.google.com/?q=@37.3161,-122.1836

X-callback ile Tokyo Kulesi için yol tarifi isteme örneği:

Orijinal Google Haritalar URL'si:

http://maps.google.com/maps?f=d&daddr=Tokyo+Tower,+Tokyo,+Japan&sll=35.6586,139.7454&sspn=0.2,0.1&nav=1

Aşağıdaki örnekte iOS için Google Haritalar uygulaması başlatılır ve bir harita görüntülenir. ile (orijinal Google Haritalar URL'sinde belirtildiği gibi, Tokyo Kulesi için yol tarifi) (yukarıda). Uygulamada ayrıca etiketli bir düğme de "KaynakUygulama". "SourceApp"i düğmesi tıklandıktan sonra, iOS için Google Haritalar uygulaması hayali bir URL şemasına (sourceapp://?resume=true) geri çağırma yapar.

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