iOS için Google Haritalar URL Şeması

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

iOS için Google Haritalar uygulamasını başlatmak, arama yapmak, yol isteği almak ve harita görünümlerini görüntülemek üzere 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 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 yüklüyse 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 web uygulamasından yerel iOS uygulaması başlatmanıza olanak tanır. URL'de, başlatılan uygulamaya iletilecek 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ıza ve aşağıdaki işlemlerden birini gerçekleştirmenize olanak tanır:

    • Haritayı belirtilen bir konumda ve yakınlaştırma düzeyinde görüntüleyin.
    • Konumları veya yerleri arayıp haritada görüntüleyin.
    • Bir yerden başka bir yere yol tarifi isteyebilirsiniz. Araba, yürüyüş, bisiklet ve toplu taşıma olmak üzere dört ulaşım modu için yol tarifi döndürülebilir.
    • Uygulamanıza gezinme menüsü ekleyin.
    • iOS 8'de, uygulama tamamlandığında comgooglemaps-x-callback:// kullanarak geri çağırma işlemi gerçekleştirin. Geri çağırma işlevi genellikle kullanıcıyı iOS için Google Haritalar'ı ilk kez açan 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, kullanıcılarınıza Google Haritalar web sitesini yüklemek yerine 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ı kullanabilir. goo.gl/maps yönlendirme URL'lerini de iletebilirsiniz.
    • comgooglemapsurl:// URL şemasıyla x-source ve x-success parametrelerini kullanarak geri çağırma isteğinde bulunabilirsiniz.

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 üzere aşağıdaki biçime sahip 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.

Cihazdaki Google Haritalar uygulamasının kullanılabilirliğini kontrol etme

Bu URL'lerden birini uygulamanızdaki bir kullanıcıya göstermeden önce uygulamanın yüklü olduğunu doğrulamanız gerekir. Uygulamanız, aşağıdaki kodla 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ö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üleme

Haritayı belirli bir yakınlaştırma seviyesinde ve konumda görüntülemek için URL şemasını kullanın. Haritanızın üzerine diğer görünümleri de yerleştirebilir veya Street View görüntülerini görüntüleyebilirsiniz.

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üntü alanının merkez noktasıdır. Virgülle ayrılmış latitude,longitude dizesi olarak biçimlendirilir.
  • mapmode: Gösterilen harita türünü ayarlar. Şu şekilde ayarlanabilir: standard veya streetview. Bu ayar belirtilmezse geçerli uygulama ayarları kullanılır.
  • views: Belirli görünümleri etkinleştirir/devre dışı bırakır. satellite, traffic veya transit olarak ayarlanabilir. Virgülle ayırıcı kullanarak birden fazla değer ayarlanabilir. Parametre değer içermeden 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çıkken 14 yakınlaştırmada New York'u merkeze alan harita gösterilmektedir:

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

New York trafik haritası

Diğer örnekler:

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

Arama sorgularını belirli bir ekran görünümü konumunda görüntülemek 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.

Belirtilen konumun çevresinde "Pizza" araması yapan örnek URL:

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

Yakındaki Pizza

Diğer ö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ında yol tarifi isteğinde bulunmak ve yol tarifini görüntülemek için bu şemayı kullanın. Ulaşım şeklini de belirtebilirsiniz.

Parametreler

  • saddr: Yol tarifi aramalarının başlangıç noktasını ayarlar. Bu, bir enlem, boylam veya sorgu biçimli 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ının bitiş noktasını ayarlar. saddr ile aynı biçime ve davranışa sahiptir.
  • directionsmode: Ulaşım şekli. Aşağıdaki değerlere ayarlanabilir: driving, transit, bicycling veya walking.

Örnek URL'de, Google NYC ile JFK Havalimanı 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

Aşağıda bazı ek örnekler verilmiştir:

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

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 şemayı kullanarak 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 dokunduğunuzda, belirttiğiniz bir URL'ye geri çağırma isteğinde bulunulur.

comgooglemaps-x-callback:// adresine gönderilen istekler şu biçimde olmalıdır:

comgooglemaps-x-callback://?parameters

Parametreler

x-callback URL şeması, comgooglemaps://URL şemasıyla aynı parametreleri kabul eder ve aşağıdaki ek parametreleri içerir. 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 çağrılacak URL. Bu genellikle kendi uygulamanız için bir URL şeması olur ve kullanıcıların orijinal uygulamaya dönmesine olanak tanır.

Uygulamanızın, geri çağırma URL'sine yanıt verebilmek 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 örnekte, iOS için Google Haritalar uygulaması başlatılır ve New York'un ortasına yerleştirilmiş bir harita gösterilir. 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ı hayali bir URL şemasına geri çağırma gönderir.

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-callback URL şemasını desteklediğini doğrulamanız gerekir. Uygulamanız, aşağıdaki kodla 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ı araması yaptıktan sonra bir uygulamaya geri dönmelerine olanak tanıyan 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ızın uygulamanızdan adım adım rota hizmetine erişmesini sağlamanın kolay bir yoludur. comgooglemaps:// veya comgooglemaps-x-callback:// URL şemalarını kullanabilirsiniz.

Bu kod snippet'inde, yol tarifi istemek için comgooglemaps-x-callback:// şemasının nasıl kullanılacağı ve kullanıcınız hazır olduğunda uygulamanıza nasıl geri dönüleceği gösterilmektedir. Kod şu işlemleri yapar:

  1. comgooglemaps-x-callback:// URL şemasının kullanılabilir olduğunu doğrulayın.
  2. iOS için Google Haritalar uygulamasını başlatın ve New York'taki JFK Havalimanı'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 parametresi tarafından 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.");
}

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

Uygulamanız, web sayfasında veya veritabanında bulunan önceden var olan bir Google Haritalar URL'sine erişebiliyorsa 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. Anlaşılırlık 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 mevcut 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ı 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'ne yol tarifi isteğinde bulunma ö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 orijinal Google Haritalar URL'sinde (yukarıda) belirtildiği gibi Tokyo Kulesi'ne giden yol tariflerinin yer aldığı bir harita gösterilir. 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ı hayali bir URL şemasına geri çağırma gönderir.

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