iOS için Google Haritalar URL Şeması

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

iOS için Google Haritalar uygulamasını başlatmak ve arama yapmak, yol tarifi istekleri almak ve harita görünümlerini görüntülemek için Google Haritalar URL şemasını kullanabilirsiniz. Google Haritalar'ı başlattığınızda paket tanımlayıcınız istek kapsamında 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, iOS 9 veya sonraki sürümleri çalıştıran cihazlarda Geçiş Bağlantıları'nı destekler.

URL'niz aşağıdaki normal ifadeyle eşleşiyorsa ve cihaz iOS 9 veya sonraki bir sürümü çalıştırıyorsa 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 veya bir web uygulamasından yerel iOS uygulaması başlatmanıza olanak tanır. Başlatılan uygulamaya aktarılacak URL'de seçenekleri ayarlayabilirsiniz. iOS için Google Haritalar uygulaması aşağıdaki URL şemalarını destekler:

  • comgooglemaps:// ve comgooglemaps-x-callback:// - Bu şemalar, iOS için Google Haritalar uygulamasını başlatmanızı ve çeşitli işlemlerden birini gerçekleştirmenizi sağlar:

    • 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ört ulaşım şekli için verilebilir: araba, yürüme, bisiklet ve toplu taşıma.
    • Uygulamanıza navigasyon ekleyin.
    • iOS 8'de, uygulama tamamlandığında comgooglemaps-x-callback:// kullanarak bir geri çağırma yapın. Geri çağırma işlevleri, genellikle kullanıcıyı iOS için Google Haritalar'ı ilk açan uygulamaya geri döndürmek için kullanılır. iOS 9'da sistemin, durum çubuğunun sol köşesinde otomatik olarak bir "Geri dön" bağlantısı sağlayacağını unutmayın.
  • comgooglemapsurl:// - Bu şema, masaüstü Google Haritalar web sitesinden türetilen bir URL'yi kullanarak iOS için Google Haritalar uygulamasını başlatmanıza olanak tanır. Bu, Google Haritalar web sitesini yüklemek yerine kullanıcılarınıza yerel bir mobil deneyim sunabileceğiniz anlamına gelir.

    • Orijinal URL, maps.google.com veya google.com/maps için ya da com yerine geçerli herhangi bir üst düzey ülke alanı kullanıyor olabilir. goo.gl/maps yönlendirme URL'si de aktarabilirsiniz.
    • comgooglemapsurl:// URL şemasıyla x-source ve x-success parametrelerini kullanarak geri arama yapabilirsiniz.

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 desteklenen işlevlerden birini gerçekleştirmek için 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 göstermeden önce, uygulamanın yüklü olduğunu doğrulamanız gerekir. Uygulamanız, URL şemasının kullanılabilir olup olmadığını şu kodla kontrol edebilir:

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 aşağıdaki 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ülle ayrılmış latitude,longitude dizesi olarak biçimlendirilir.
  • mapmode: Gösterilen haritanın türünü ayarlar. standard veya streetview olarak ayarlanabilir. Belirtilmezse mevcut uygulama ayarları kullanılır.
  • views: Belirli görünümleri açar/kapatır. Şu değere ayarlanabilir: satellite, traffic veya transit. Virgül ayırıcı kullanarak birden çok değer ayarlanabilir. Parametre herhangi bir değer olmadan belirtilirse tüm görünümler temizlenir.
  • zoom: Haritanın yakınlaştırma düzeyini belirtir.

Bu örnek URL'de, trafik görünümü açık olacak şekilde, harita New York merkezinde 14 yakınlaştırma ayarıyla gösterilmektedir:

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 parametresini de destekler.

  • 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 bir enlem,boylam veya sorgu biçimindeki bir adres olabilir. Birden fazla sonuç döndüren bir sorgu dizesiyse ilk sonuç seçilir. Değer boş bırakılırsa kullanıcının mevcut konumu kullanılır.
  • daddr: Yol tarifi aramaları için bitiş noktasını ayarlar. saddr ile aynı biçime ve davranışa sahiptir.
  • directionsmode: Ulaşım yöntemi. Şu değere 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ını kullanmanız gerekir. Bu şema, x-callback-url spesifikasyonuna bağlıdır. iOS için Google Haritalar uygulamasını bu şema ile çağırdığınızda, uygulama ekranın üst kısmında bir düğme görüntüler. Bu düğmeye dokunduğunuzda, belirttiğiniz URL'ye geri arama yapılır.

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

comgooglemaps-x-callback://?parameters

Parametreler

X geri çağırma URL şeması, aşağıdaki ek parametrelerle birlikte comgooglemaps:// URL şemasıyla aynı parametreleri kabul eder. Her iki parametre de gereklidir.

  • x-source — X geri çağırma isteğini gönderen uygulamanın adı. Kısa adlar tercih edilir.
  • x-success — Tamamlandığında aranacak URL. Bu genellikle kendi uygulamanız için kullanıcıların orijinal uygulamaya geri dönmesine olanak tanıyan bir URL şeması olacaktır.

Uygulamanızın, geri çağırma URL'sine yanıt verebilmesi için kendi URL şemasını kaydetmesi gerektiğini unutmayın.

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

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

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ının cihazda kullanılabildiğini ve x geri çağırma URL şemasını desteklediğini doğrulamanız gerekir. Uygulamanız, URL şemasının kullanılabilir olup olmadığını aşağıdaki kodla kontrol edebilir:

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ı aradıktan sonra bir uygulamaya geri dönmesini sağlayan bir URL örneğidir.

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ıza uygulamanızdan adım adım Navigasyon erişimi sağlamanın kolay bir yoludur. comgooglemaps:// veya comgooglemaps-x-callback:// URL şemalarını kullanabilirsiniz.

Bu kod snippet'i, yol tarifi istemek için comgooglemaps-x-callback:// şemasının nasıl kullanılacağını ve kullanıcı hazır olduğunda uygulamanıza nasıl dönüleceğini gösterir. Kod, aşağıdakileri 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 New York şehrindeki JFK Havalimanı için yol tarifi isteyin. Kullanıcının mevcut konumundan yol tarifi istemek için başlangıç adresini boş bırakın.
  3. iOS için Google Haritalar uygulamasına "AirApp" etiketli bir düğme ekleyin. Düğme etiketi, x-source parametresiyle tanımlanır.
  4. Kullanıcılar geri düğmesini tıkladığında hayali URL şemasını (sourceapp://) çağırın.

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 (örneğin bir web sayfası veya veritabanında) erişimi varsa URL'yi iOS için Google Haritalar uygulamasında açmak için bu şemayı kullanabilir ve böylece 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 parametrelerini ekleyin. Bu şema, x-callback-url spesifikasyonuna bağlıdır.

Desteklenen Google Haritalar URL biçimleri

comgooglemapsurl:// şeması, bu normal ifade ile eşleşen URL'leri destekler. Burada {TLD}, geçerli herhangi bir üst düzey ülke alan adını ifade eder. Netlik sağlamak için satır sonları eklenmiştir:

(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 bulunduğunu ve URL şemasını desteklediğini doğrulayın:

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 örnek, iOS için Google Haritalar uygulamasını başlatır ve orijinal Google Haritalar URL'sinde (yukarıda) belirtildiği gibi Tokyo Kulesi'ne yönelik yol tariflerini içeren bir harita görüntüler. Uygulama ayrıca "SourceApp" etiketli bir düğme görüntüler. "SourceApp" düğmesi tıklandığında iOS için Google Haritalar uygulaması, sourceapp://?resume=true hayali bir URL şemasına geri arama 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