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.
Evrensel Bağlantılar ve Google Haritalar
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://
vecomgooglemaps-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 isteği gönderin. 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
veyagoogle.com/maps
için olabilir ya dacom
yerine geçerli bir üst düzey ülke alanı kullanabilir.goo.gl/maps
yönlendirme URL'lerini de iletebilirsiniz. comgooglemapsurl://
URL şemasıylax-source
vex-success
parametrelerini kullanarak geri çağırma isteğinde bulunabilirsiniz.
- Orijinal URL,
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
veyastreetview
. 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
veyatransit
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
Diğer örnekler:
comgooglemaps://?center=37.788463,-122.392545&zoom=12
comgooglemaps://?center=46.414382,10.013988&mapmode=streetview
Arama
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¢er=37.759748,-122.427135
Diğer örnekler:
comgooglemaps://?q=Steamers+Lane+Santa+Cruz,+CA¢er=37.782652,-122.410126&views=satellite,traffic&zoom=15
comgooglemaps://?q=Google+Japan,+Minato,+Tokyo,+Japan¢er=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ı belirler. 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
veyawalking
.
Ö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
Diğer örnekler:
comgooglemaps://?saddr=Google,+1600+Amphitheatre+Parkway,+Mountain+View,+CA+94043&daddr=Google+Inc,+345+Spear+Street,+San+Francisco,+CA¢er=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¢er=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.
- Uygulamanızın, geri çağırma isteğine yanıt verebilecek bir URL şeması kaydettiğinden emin olun.
- Geri çağırma düğmesinin etiketini
x-source
parametresinde iletin. - 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¢er=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:
comgooglemaps-x-callback://
URL şemasının kullanılabilir olduğunu doğrulayın.- 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.
- iOS için Google Haritalar uygulamasına "AirApp" etiketli bir düğme ekleyin. Düğme etiketi,
x-source
parametresi tarafından tanımlanır. - 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.
http://
veyahttps://
şemasınıcomgooglemapsurl://
ile değiştirin.- Geri çağırma kullanmak istiyorsanız
x-source
vex-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