iOS için Google Haritalar URL Şeması

iOS 9 ve sonraki sürümlerin yüklü olduğu cihazlarda, Google Haritalar URL'niz olduğunda Google Haritalar'ı başlatmak için Geçiş Bağlantıları'nı kullanabilirsiniz.

iOS için Google Haritalar uygulamasını başlatmak, arama yapmak, yol tarifi isteklerini 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, isteğin bir parçası olarak otomatik olarak gönderilir.

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

iOS için Google Haritalar, iOS 9 veya sonraki sürümleri çalıştıran cihazlarda Evrensel Bağlantıları destekler.

URL'niz aşağıdaki normal ifadeyle eşleşiyorsa ve cihazda iOS 9 veya sonraki bir sürüm çalışı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ı, yerel bir iOS uygulamasını başka bir iOS uygulamasından veya web uygulamasından başlatmanıza olanak tanır. Başlatılan uygulamaya iletilecek URL'de seçenekler 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ıza ve çeşitli işlemlerden birini gerçekleştirmenize olanak tanır:

    • Belirli bir konumda ve yakınlaştırma düzeyinde harita görüntüleyin.
    • Konumları veya yerleri arama ve bunları haritada görüntüleme
    • Bir konumdan başka bir konuma yol tarifi isteğinde bulunma Dört ulaşım modu için yol tarifi döndürülebilir: araba, yaya, bisiklet ve toplu taşıma.
    • Uygulamanıza gezinme özelliği ekleyin.
    • iOS 8'e kadar, uygulama tamamlandığında comgooglemaps-x-callback:// kullanarak geri çağırma işlemi yapın. Geri aramalar genellikle kullanıcıyı, iOS için Google Haritalar'ı ilk açtığı uygulamaya 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ğladığını unutmayın.
  • comgooglemapsurl://: Bu şema, masaüstü Google Haritalar web sitesinden türetilen bir URL kullanarak iOS için Google Haritalar uygulamasını başlatmanıza olanak tanır. Bu sayede, Google Haritalar web sitesini yüklemek yerine kullanıcılarınıza yerel bir mobil deneyim sunabilirsiniz.

    • Orijinal URL, maps.google.com veya google.com/maps için olabilir ya da com yerine geçerli bir üst düzey ülke alanı kullanılabilir. goo.gl/maps yönlendirme URL'lerini de iletebilirsiniz.
    • x-source ve x-success parametrelerini comgooglemapsurl:// URL şemasıyla 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ğini kontrol etme

Bu URL'lerden birini uygulamanızdaki bir kullanıcıya sunmadan önce uygulamanın yüklü olduğunu doğrulamanız gerekir. Uygulamanız, aşağıdaki kodu kullanarak URL şemasının kullanılabilir olup olmadığını 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 haritasını göstermek 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üleme

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

Parametreler

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

  • center: Bu, harita görüntü alanı merkez noktasıdır. latitude,longitude değerleri virgülle ayrılmış dize olarak biçimlendirilir.
  • mapmode: Gösterilen haritanın türünü ayarlar. Şu şekilde ayarlanabilir: standard veya streetview. Belirtilmezse mevcut uygulama ayarları kullanılır.
  • views: Belirli görünümleri açar/kapatır. satellite, traffic veya transit olarak ayarlanabilir. Virgül ayırıcı kullanarak birden çok değer ayarlayabilirsiniz. Parametre değer olmadan belirtilirse tüm görünümler temizlenir.
  • zoom: Haritanın yakınlaştırma düzeyini belirtir.

Bu örnek URL, trafik görünümü açıkken 14. yakınlaştırma düzeyinde New York'u merkezine alan haritayı gösterir:

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

New York trafik haritası

Diğer bazı örnekler:

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

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

Parametreler

Arama, harita görüntülemek için kullanılan parametrelere ek olarak q parametresini de destekler.

  • q: Aramanızın sorgu dizesi.

Bu örnek URL, belirtilen konumun çevresinde "Pizza" araması yapar:

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

Yakındaki pizzalar

Diğer bazı ö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 tariflerini görüntüleme

İki konum arasındaki yol tariflerini istemek ve göstermek için bu şemayı kullanın. Ulaşım şeklini de belirtebilirsiniz.

Parametreler

  • saddr: Yol tarifi aramaları için başlangıç noktasını ayarlar. Bu, enlem, boylam veya sorgu biçimli 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 şekli. Şu değerlere ayarlanabilir: driving, transit, bicycling veya walking.

Örnek URL'de Google NYC ile JFK Havaalanı arasındaki toplu taşıma yol tarifleri gösterilmektedir:

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

Diğer bazı ö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 istiyorsanız comgooglemaps-x-callback:// URL şemasını kullanmanız gerekir. Bu şema, x-callback-url spesifikasyonuna uygundur. Bu şemayla iOS için Google Haritalar uygulamasını çağırdığınızda uygulama, ekranın üst kısmında bir düğme gösterir. Bu düğmeye dokunulduğunda, belirttiğiniz bir URL'ye geri arama yapılır.

comgooglemaps-x-callback:// için yapılan istekler şu biçimde olmalıdır:

comgooglemaps-x-callback://?parameters

Parametreler

x-callback URL şeması, comgooglemaps:// URL şemasıyla aynı parametreleri ve aşağıdaki ek parametreleri kabul eder. Her iki parametre de gereklidir.

  • x-source: x-callback isteğini gönderen uygulamanın adı. Kısa adlar tercih edilir.
  • x-success: İşlem tamamlandığında aranacak URL. Bu genellikle kendi uygulamanızın URL şemasıdır ve kullanıcıların orijinal uygulamaya dönmesine olanak tanır.

Uygulamanızın, geri arama 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. Geri çağırma düğmesinin etiketini x-source parametresinde iletin.
  3. Geri çağırma URL'sini x-success parametresinde iletin.

Aşağıdaki örnek, iOS için Google Haritalar uygulamasını başlatır ve New York'u merkez alan bir harita gösterir. Uygulamada "SourceApp" etiketli bir düğme de gösterilir. "SourceApp" düğmesi tıklandığında, iOS için Google Haritalar uygulaması, sourceapp://?resume=true adlı kurgusal bir URL şemasına geri çağırma işlemi 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ılabilir olduğunu ve x-callback URL şemasını desteklediğini doğrulamanız gerekir. Uygulamanız, aşağıdaki kodu kullanarak URL şemasının kullanılabilir olup olmadığını 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 uygulamaya dönmelerini 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

Yol tarifi isteğiyle iOS için Google Haritalar uygulamasını başlatmak, kullanıcılarınıza uygulamanızdan adım adım navigasyon erişimi sunmanı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 şu işlemleri yapar:

  1. comgooglemaps-x-callback:// URL düzeninin kullanılabilir olduğunu doğrulayın.
  2. iOS için Google Haritalar uygulamasını başlatın ve New York şehrindeki JFK Havaalanı'na 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 kurgusal 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.");
}

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

Uygulamanızın bir web sayfasında veya veritabanında olduğu gibi önceden var olan bir Google Haritalar URL'sine erişimi varsa bu şemayı kullanarak URL'yi iOS için Google Haritalar uygulamasında açabilir 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 uygundur.

Desteklenen Google Haritalar URL biçimleri

comgooglemapsurl:// şeması, bu normal ifadeyle eşleşen URL'leri destekler. Burada {TLD}, geçerli bir üst düzey ülke alanını ifade eder. Daha net ifadeler 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ğini kontrol etme

Öncelikle iOS için Google Haritalar uygulamasının cihazda kullanılabilir olduğ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ı kullanma:

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ı kullanma:

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

x-callback ile Tokyo Kulesi'ne 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 yol tariflerinin yer aldığı bir harita gösterir. Uygulamada "SourceApp" etiketli bir düğme de gösterilir. "SourceApp" düğmesi tıklandığında iOS için Google Haritalar uygulaması, sourceapp://?resume=true adlı kurgusal bir URL şemasına geri çağırma işlemi 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