iOS için Google Haritalar URL Şeması

iOS 9 ve sonraki sürümleri çalıştıran cihazlarda, 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 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 cihaz iOS 9 veya sonraki bir sürümü çalıştırıyorsa doğrudan openURL: yöntemini kullanmak isteyebilirsiniz.

(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ını başlatmanıza olanak tanır. URL'de, başlatılan uygulamaya aktarılacak 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 birkaç işlemden birini gerçekleştirmenize olanak tanır:

    • Bir haritayı belirtilen konum ve yakınlaştırma düzeyinde görüntüleyin.
    • Konumları veya yerleri arayın ve harita üzerinde görüntüleyin.
    • Bir konumdan diğerine yol tarifi isteyin. Dört ulaşım modu için yol tarifi döndürülebilir: araba, yürüyüş, bisiklet ve toplu taşıma.
    • Uygulamanıza navigasyon ekleyin.
    • iOS 8'de, uygulama tamamlandığında comgooglemaps-x-callback:// kullanarak geri çağırma yapın. Geri çağırmalar genellikle bir 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ğladığı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ızı sağlar. Diğer bir deyişle, sadece 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 adını kullanabilir. Ayrıca goo.gl/maps yönlendirme URL'lerini de iletebilirsiniz.
    • comgooglemapsurl:// URL şemasıyla x-source ve x-success parametrelerini kullanarak bir geri çağırma yayınlayabilirsiniz.

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çimde bir URL şeması kullanın:

comgooglemaps://?parameters

veya:

comgooglemaps-x-callback://?parameters

Parametreler, bu dokümanın ilerleyen kısımlarında ayrıntılı olarak açıklanmıştır.

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

Uygulamanızda bu URL'lerden birini bir kullanıcıya sunmadan önce uygulamanın yüklü olduğunu 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://")!)

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 düzeyinde ve konumda görüntülemek için URL şemasını kullanın. Haritanızın üzerine başka görünümler 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. standard veya streetview olarak ayarlanabilir. Belirtilmezse geçerli uygulama ayarları kullanılır.
  • views: Belirli görünümleri açar/kapatır. Şu şekilde ayarlanabilir: satellite, traffic veya transit. Virgül ayırıcı kullanılarak birden fazla değer ayarlanabilir. Parametre herhangi bir değer olmadan belirtilirse tüm görünümleri temizler.
  • zoom: Haritanın yakınlaştırma düzeyini belirtir.

Bu örnek URL'de, harita New York merkezli, 14 zum düzeyiyle trafik görünümü açık şekilde görüntülenir:

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

Belirtilen görüntü alanı konumunda arama sorgularını görüntülemek için bu şemayı kullanın.

Parametreler

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

  • q: Aramanızın sorgu dizesi.

Belirtilen konumun yakınlarında "Pizza" araması yapmak için şu ö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ının başlangıç noktasını ayarlar. Bu bir enlem,boylam veya sorgu biçimlendirilmiş 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 yöntemi. Şu şekilde ayarlanabilir: driving, transit, bicycling veya walking.

Örnek URL'de, Google NYC ile JFK Havaalanı arasında toplu taşıma yol tarifleri görüntülenir:

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 uygundur. iOS için Google Haritalar uygulamasını bu şemayla ç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 geri çağrılır.

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

comgooglemaps-x-callback://?parameters

Parametreler

X geri çağırma URL'si şeması, comgooglemaps:// URL şemasıyla aynı parametreleri ve aşağıdaki ek parametreleri kabul eder. Her iki parametre de zorunludur.

  • x-source — X-callback isteğini gönderen uygulamanın adı. Kısa adlar tercih edilir.
  • x-success: Tamamlandığında çağrılacak URL. Bu, genellikle kendi uygulamanız için kullanıcıların orijinal uygulamaya geri dönmelerini sağlayan bir URL şeması olur.

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 çağırma düğmesinin etiketini iletin.
  3. Geri çağırma URL'sini x-success parametresine iletin.

Aşağıdaki örnekte iOS için Google Haritalar uygulaması başlatılacak ve New York merkezli bir harita görüntülenecektir. Ayrıca uygulama, "SourceApp" etiketli bir düğme de görüntüler. "SourceApp" düğmesi tıklandığında, iOS için Google Haritalar uygulaması sourceapp://?resume=true hayali URL şemasına bir 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 mevcut olduğunu 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ı için arama yaptıktan sonra bir 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 navigasyon özelliği ekleniyor

iOS için Google Haritalar uygulamasını yol tarifi isteği ile başlatmak, kullanıcılarınıza uygulamanızdan adım adım navigasyon erişimi vermenin 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öneceğinizi gösterir. Kod şunları 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 Havaalanı 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 sourceapp:// hayali URL şemasını ç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.");
}

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

Uygulamanız önceden mevcut olan bir Google Haritalar URL'sine (ör. bir web sayfası veya veritabanında) erişebiliyorsa bu şemayı kullanarak URL'yi iOS için Google Haritalar uygulamasında açabilir ve 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 herhangi bir üst düzey ülke alanını ifade eder. Netlik sağlamak adına satır aralıkları 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 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 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 isteyen örnek:

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ılacak ve orijinal Google Haritalar URL'sinde (yukarıda) belirtildiği gibi, Tokyo Kulesi için yol tariflerinin bulunduğu bir harita görüntülenecektir. Uygulama ayrıca "SourceApp" etiketli bir düğme de görüntüler. "SourceApp" düğmesi tıklandığında, iOS için Google Haritalar uygulaması sourceapp://?resume=true hayali URL şemasına bir 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