Kullanıcıları Google Haritalar URL'si veya Places API ile Google Haritalar Yer Ayrıntıları ve Yol Tarifleri'ne yönlendirme

Günümüzde konum bilgisine duyarlı bir dünyada kullanıcılar, yer bilgilerine, yol tariflerine ve navigasyona sorunsuz erişim bekliyor. Kullanıcılar, ister bir mesajlaşma uygulaması, ister yerel bağlam keşif uygulaması, lojistik ve ulaşım platformu, seyahat planlayıcı veya emlak listeleme platformu aracılığıyla olsun, genellikle konum ayrıntılarını hızlıca görüntülemeleri ya da A'dan B'ye en iyi rotayı bulmaları gerekir. Geliştiriciler kendi uygulama içi deneyimlerini oluşturabilir ancak Google Haritalar'ın kapsamlı ve tanıdık arayüzünden yararlanmak daha iyi bir deneyim sunar.

Sorunsuz bir kullanıcı deneyimi için iyi yapılandırılmış bir Google Haritalar URL'si gereklidir. Yanlış URL'ler bu deneyimi tehlikeye atarak kullanıcıları yanlış konuma yönlendirir, belirli ayrıntılar yerine genel bir harita görünümü gösterir ve hatta bozuk bir bağlantıya neden olur. Bu durum, kullanıcıları hayal kırıklığına uğratır ve hedeflerine ulaşmalarını engeller. Örneğin, geçerli bir Haritalar URL'si olsa bile belirli bir işletmeyle ilgili ayrıntıları bekleyen bir kullanıcı, bunun yerine alakalı bilgi içermeyen genel bir harita görünümüne yönlendirilebilir. Aşağıdaki örneğe bakın:

https://www.google.com/maps/search/?api=1&query=-33.8567%2C151.2152

Bu Haritalar URL'si, Google Haritalar'ı açmak ve enlem ile boylama dayalı bir konum görüntülemek için geçerlidir. Ancak kullanıcılara belirli bir yerle ilgili ayrıntılar sunmaz.

Yalnızca enlem ve boylam kullanarak arama yapma
Yalnızca enlem ve boylam kullanarak arama yapma

Doğru URL'ler aracılığıyla uygulamanızı Google Haritalar ile sorunsuz bir şekilde bağlama

Google Haritalar'da yer ayrıntıları sayfasını açma
Benzersiz bir yer adının bulunduğu Haritalar URL'si, kullanıcıları Google Haritalar'daki ilgili yerin ayrıntılar sayfasına yönlendirir

Google Haritalar Platformu (GMP), doğru URL'ler oluşturmak için iki temel yöntem sunar: API anahtarı gerektiren Places API(Yeni) ve ücretsiz olup anahtar gerektirmeyen Haritalar URL'leri. Aşağıdaki çözümler farklı senaryoları ve kullanım alanlarını ele alır:

GMP Places API(Yeni), belirli bir yer hakkında kapsamlı bir bilgi grubu döndürür. googleMapsUri veya googleMapsLinks alanı (alan maskesinde belirtilerek) istendiğinde API yanıtı bir yer nesnesi içerir. Bu nesne, önceden biçimlendirilmiş URL'ler içerir. Bu URL'ler, Google Haritalar'da yer ayrıntıları görünümü gibi ilgili görünümü doğrudan açmak için kullanılabilir.

Örnek:

Yer Ayrıntıları İsteği

curl -X GET -H 'Content-Type: application/json' \
-H "X-Goog-Api-Key: YOUR_API_KEY" \
-H "X-Goog-FieldMask: googleMapsUri,googleMapsLinks" \
https://places.googleapis.com/v1/places/ChIJ3S-JXmauEmsRUcIaWtf4MzE

Yer Ayrıntıları Yanıtı:

{
    "googleMapsUri": "https://maps.google.com/?cid=3545450935484072529",
    "googleMapsLinks": {
        "directionsUri": "https://www.google.com/maps/dir//''/data=!4m7!4m6!1m1!4e2!1m2!1m1!1s0x6b12ae665e892fdd:0x3133f8d75a1ac251!3e0",
        "placeUri": "https://maps.google.com/?cid=3545450935484072529",
        "writeAReviewUri": "https://www.google.com/maps/place//data=!4m3!3m2!1s0x6b12ae665e892fdd:0x3133f8d75a1ac251!12e1",
        "reviewsUri": "https://www.google.com/maps/place//data=!4m4!3m3!1s0x6b12ae665e892fdd:0x3133f8d75a1ac251!9m1!1b1",
        "photosUri": "https://www.google.com/maps/place//data=!4m3!3m2!1s0x6b12ae665e892fdd:0x3133f8d75a1ac251!10e5"
    }
}

Yukarıdaki örnekte ChIJ3S-JXmauEmsRUcIaWtf4MzE, Sidney Opera Binası'nın yer kimliğidir. Yer kimliği, Google Places veritabanında ve Google Haritalar'da bir yeri benzersiz şekilde tanımlayan metin biçiminde bir tanımlayıcıdır.

Yer kimliklerini ücretsiz olarak alma

Yer kimliklerini programatik olarak almak için Places API: Text Search(ID Only) işlevini kullanabilirsiniz. Bu, yer kimliklerini ücretsiz olarak alabileceğiniz bir yöntemdir. Yer Kimliği ve Yer API'si(Yeni) isteği hakkında daha fazla bilgi edinin.

Places API Metin Arama(Yalnızca Kimlik) İsteği:

curl -X POST -d '{"textQuery" : "Sydney Opera House"}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: places.id' \
'https://places.googleapis.com/v1/places:searchText'

Places API Metin Arama(Yalnızca Kimlik) Yanıtı:

{
  "places": [
    {
      "id": "ChIJ3S-JXmauEmsRUcIaWtf4MzE"
    }
  ]
}

Yer kimlikleri, kullanıcı haritalarda bir ÖY'yi tıkladığında veya ÖY'ye dokunduğunda da alınabilir. Tıklanabilir ÖY simgeleri hakkında daha fazla bilgi edinin(JavaScript, Android, iOS).

Uygulama

Places API'yi kullanan geliştiriciler, yanıttan googleMapsUri veya googleMapsLinks alanını kolayca çıkarabilir ve uygulamayı yüklememişlerse Google Haritalar uygulamasında ya da bir tarayıcıda ilgili görünümü başlatmak için kullanabilir.

Özellik Açıklama
directionsUri Google Haritalar'ı açarak kullanıcının mevcut konumundan bu yere yol tarifini gösterme bağlantısı
placeUri Google Haritalar'ı açarak bu yerin yer ayrıntıları sayfasına gitme bağlantısı
writeAReviewUri Google Haritalar'ı açarak bu yerin yorum yazma sayfasına gitmek için kullanılan bağlantı
reviewsUri Google Haritalar'ı bu yerin yorumlar sayfasına yönlendiren bağlantı
photosUri Google Haritalar'ı açarak bu yerin fotoğraflar sayfasına gitmek için kullanılan bağlantı

Geliştirici kılavuzuna göz atın ve özelliği hemen deneyin.

Haritalar URL'lerini kullanma

Haritalar URL'lerini kullanarak Google Haritalar'ı başlatmak, arama yapmak, yol tarifi ve navigasyon almak, harita görünümlerini ve panoramik görüntüleri göstermek için evrensel ve platformlar arası bir URL oluşturabilirsiniz. URL söz dizimi, kullanılan platformdan bağımsız olarak aynıdır. Haritalar URL'lerini kullanmak için Google API anahtarına ihtiyacınız yoktur.

Kullanılabilecek harita işlemleri şunlardır:

  • Arama işlevi, Google Haritalar uygulamasını veya uygulama yüklü değilse belirli bir yer için raptiye gösteren bir tarayıcıyı başlatır ya da genel bir arama gerçekleştirip sonuçları göstermek için bir harita başlatır.

  • Yol tarifi işlevi, Google Haritalar uygulamasını veya uygulama yüklü değilse bir tarayıcıyı başlatır. Bu uygulama, noktalar arasındaki yol tariflerini gösterir ya da mobil cihazlarda Google Haritalar'da adım adım yol tarifini etkinleştirir.

  • Street View panorama işlevi, Street View görüntülerini etkileşimli panoramalar olarak göstermek için bir görüntüleyici başlatmanıza olanak tanır.

Daha fazla işlevi ve örneği incelemek için GMP Haritalar URL'leri geliştirici belgelerini ziyaret edin.

Burada, Haritalar URL'lerinin iki temel işlevini ayrıntılı olarak ele alıyoruz:

  • Google Haritalar'da yer ayrıntılarını gösterme: Bu bölümde, Google Haritalar'da belirli bir konumun ayrıntılarını gösterecek URL'lerin nasıl oluşturulacağı açıklanmaktadır. Ayrıca, yer kimliklerini ve kesin sorguları kullanarak benzersiz olmayan adlara sahip yerlerle nasıl çalışılacağı da ayrıntılı olarak açıklanır.

  • Haritalar URL'lerini kullanarak yol tarifi sağlama: Bu bölümde, birden fazla ara nokta içeren yol tarifleri ve adım adım gezinme dahil olmak üzere konumlar arasında yol tarifi sağlayan URL'lerin nasıl oluşturulacağı açıklanmaktadır.

Google Haritalar'da yer ayrıntılarını gösterme

Arama işlevi, yer aramasını tamamlamak için iki parametre alır. Bunlar query(zorunlu) ve query_place_id(isteğe bağlı) parametreleridir.

query parametresi tüm arama istekleri için zorunludur. Yer adı, virgülle ayrılmış enlem/boylam koordinatları veya genel bir arama terimi kabul eder.

Arama URL'sinin yapısı:

https://www.google.com/maps/search/?api=1&parameters

1. senaryo: Benzersiz bir yer adı için yer ayrıntılarını gösterme

https://www.google.com/maps/search/?api=1&query=Sydney%20Opera%20House
Bu örnekte yalnızca yer adı belirtilmiştir. Bu URL, Sidney Opera Binası'nın ayrıntılar sayfasını açar.

Google Haritalar'da yer ayrıntıları sayfasını açma
Yer adını arama ve yer ayrıntılarını görüntüleme

Şimdi de benzersiz olmayan bir ada sahip yeri ele alalım. Yalnızca bu benzersiz olmayan adla arama yaptığınızda ne olur? Sonraki senaryoya bakın.

2. senaryo: Tek olmayan bir yer adı için yer arama

https://www.google.com/maps/search/?api=1&query=7-Eleven

Yer adı benzersiz olmadığından bu URL, görünüm alanındaki yakındaki 7-Eleven konumlarının listesini açar. Kullanıcılar daha sonra ayrıntılarını görmek için belirli bir mağazayı seçebilir.

Google Haritalar'da Yer Listesi sayfasını açın.
Benzersiz olmayan adları aramak için yer listesi sayfası

Konum listesini atlayıp doğrudan belirli bir ayrıntılar sayfasına erişmek için daha hassas bir yöntem kullanabilirsiniz. Bir sonraki örneğe bakın.

3. senaryo: Benzersiz olmayan bir yer adı için yer ayrıntılarını gösterme

Yaygın yer adlarıyla ilgili olarak basit bir ad araması genellikle bir konum listesi döndürür. Doğrudan belirli bir ayrıntılar sayfasına bağlantı vermek için aşağıdaki yöntemlerden birini kullanabilirsiniz:

1. yöntem: Yer adı ve adresiyle tam bir sorgu kullanma

https://www.google.com/maps/search/?api=1&query=7-Eleven%2C37%20Swanston%20St%2C%20Melbourne%20Australia

Bu URL'de query parametresi yer adı ve adres olarak biçimlendirilmiştir. Bu, aramayı daraltmaya ve doğrudan istenen konuma bağlantı vermeye yardımcı olur.

2. yöntem: Yer kimliğini kullanma

Yer kimlikleri, Google Places veritabanında ve Google Haritalar'da bir yeri benzersiz şekilde tanımlar.

https://www.google.com/maps/search/?api=1&query=7-Elevan&query_place_id=ChIJGcmcg7ZC1moRAOacd3HoEwM

Burada ChIJGcmcg7ZC1moRAOacd3HoEwM, belirli bir yerin benzersiz yer kimliğidir. query parametresi hâlâ gereklidir ancak yalnızca Google Haritalar yer kimliğini bulamazsa kullanılır.

Senaryo 4: Enlem ve boylam koordinatlarının yanı sıra yer kimliğini kullanarak yer ayrıntılarını gösterme

Yer kimliği kullanıldığında Google Haritalar'da ayrıntılı yer bilgileri gösterilir.

https://www.google.com/maps/search/?api=1&query=-33.8567%2C151.2152&query_place_id=ChIJ3S-JXmauEmsRUcIaWtf4MzE
Enlem, boylam ve yer kimliğini kullanarak yer ayrıntıları sayfasını görüntüleme
Enlem ve boylamın yanı sıra yer kimliğini kullanarak yer ayrıntıları sayfası

Yer kimliklerini ücretsiz olarak alma

Yer kimliklerini programatik olarak almak için Places API: Text Search(ID Only) işlevini kullanabilirsiniz. Bu yöntem, yer kimliklerini ücretsiz olarak edinmenizi sağlar. Yer Kimliği ve Yer API'si(Yeni) isteği hakkında daha fazla bilgi edinin.

Places API Metin Arama(Yalnızca Kimlik) İsteği:

curl -X POST -d '{"textQuery" : "Sydney Opera House"}'
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY'
-H 'X-Goog-FieldMask: places.id'
'https://places.googleapis.com/v1/places:searchText'

Places API Metin Arama(Yalnızca Kimlik) Yanıtı:

{
  "places": [
    {
      "id": "ChIJ3S-JXmauEmsRUcIaWtf4MzE"
    }
  ]
}

Yer kimlikleri, kullanıcı haritalarda bir ÖY'yi tıkladığında veya ÖY'ye dokunduğunda da alınabilir. Tıklanabilir ÖY simgeleri hakkında daha fazla bilgi edinin(JavaScript, Android, iOS).

Sonuç

Doğru yer ayrıntıları sağlamak, olumlu bir deneyim için çok önemlidir. Kullanıcıların doğru yer ayrıntıları sayfasına yönlendirilmesini sağlamak için arama URL'lerini aşağıdaki önerilen biçimlerden birini kullanarak oluşturun:

  • query=PLACE_NAME, ADDRESS
  • query=PLACE_NAME&query_place_id=PLACE_ID

Amacınız belirli bir yerin ayrıntılarını göstermekse query parametresinde yalnızca enlem/boylam koordinatlarını kullanmaktan kaçının. query=latitude,longitude, query=PLACE_NAME,latitude,longitude veya query=ADDRESS,latitude,longitude gibi biçimler, istenen yer ayrıntıları sayfasına tutarlı bir şekilde yönlendirmez. Bunun yerine, konumun enlemi ve boylamı gösterilir.

Haritalar URL'lerini kullanarak kategorik arama

Kategorik aramada genel bir arama terimi iletirsiniz ve Google Haritalar, belirttiğiniz konumun yakınında ölçütlerinize uyan listelemeler bulmaya çalışır. Konum belirtilmemişse Google Haritalar, geçerli konumunuzun yakınındaki listelemeleri bulmaya çalışır.

1. senaryo: Yakındaki yerleri arama

https://www.google.com/maps/search/?api=1&query=Cafe%20near%20Sydney%20Opera%20House%20that%20are%20open%20now
Kategorik arama - yakındaki yerler
Kategoriye göre arama - yakındaki yerler

Haritalar URL'lerini kullanarak yol tarifi sağlama

Yol tarifi işlevi, haritada belirtilen iki veya daha fazla nokta arasındaki yolu, mesafeyi ve seyahat süresini gösterir. Geliştiricilere sağlanan talimatlar üzerinde daha fazla kontrol olanağı sunar. GMP'nin Haritalar URL'leri Yol Tarifleri dokümanında, özelleştirilmiş yol tarifleri için URL oluşturmayla ilgili ayrıntılı talimatlar yer alır.

Yol tarifi URL'sinin yapısı:

https://www.google.com/maps/dir/?api=1&parameters

1. Senaryo: Kullanıcının mevcut konumundan bir hedefe giden en iyi rotayı bulma

https://www.google.com/maps/dir/?api=1&destination=Flinders%20Station%20Melbourne&travelmode=driving

Bu URL, Google Haritalar'ı açar ve kullanıcının mevcut konumundan araba yol tarifini gösterir.

Bu URL'de origin atlanmıştır. origin atlandığında, varsa cihaz konumu gibi en alakalı başlangıç konumuna varsayılan olarak ayarlanır. Hiçbiri yoksa sonuçta elde edilen harita, kullanıcının kaynağı girmesine olanak tanıyan bir form sağlar. Başlangıç ve hedef değeri; yer adı, adres veya virgülle ayrılmış enlem/boylam koordinatları olabilir.

travelmode isteğe bağlı bir parametredir. Seyahat yöntemini tanımlar. Bu parametre şu şekilde ayarlanabilir:

  • araba yolculuğu
  • yürüyüş
  • bisiklet
  • iki tekerlekli araç
  • toplu taşıma

Seyahat modu belirtilmemişse Google Harita, belirtilen rota ve/veya kullanıcı tercihlerine göre en alakalı modlardan birini veya daha fazlasını gösterir.

Geliştiriciler, origin_place_id parametresini ve destination_place_id kullanarak yer kimliklerini de belirtebilir. Bir yer kimliği kullanmak, doğru yere bağlantı vereceğinizin en iyi garantisidir.

Yer kimliklerini ücretsiz olarak alma

Yer kimliklerini programatik olarak almak için Places API: Text Search(ID Only) işlevini kullanabilirsiniz. Bu yöntem, yer kimliklerini ücretsiz olarak edinmenizi sağlar. Yer Kimliği ve Yer API'si(Yeni) isteği hakkında daha fazla bilgi edinin.

Places API Metin Arama(Yalnızca Kimlik) İsteği:

curl -X POST -d '{"textQuery" : "Sydney Opera House"}'
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY'
-H 'X-Goog-FieldMask: places.id'
'https://places.googleapis.com/v1/places:searchText'

Places API Metin Arama(Yalnızca Kimlik) Yanıtı:

{
  "places": [
    {
      "id": "ChIJ3S-JXmauEmsRUcIaWtf4MzE"
    }
  ]
}

Yer kimlikleri, kullanıcı haritalarda bir ÖY'yi tıkladığında veya ÖY'ye dokunduğunda da alınabilir. Tıklanabilir ÖY simgeleri hakkında daha fazla bilgi edinin(JavaScript, Android, iOS).

Kullanıcının mevcut konumundan yol tarifleri
Kullanıcının mevcut konumundan yol tarifi

3. Senaryo: Adım adım navigasyon sağlama

https://www.google.com/maps/dir/?api=1&destination=Flinders%20Station%20Melbourne&travelmode=driving&dir_action=navigate

URL'de dir_action=navigate ayarlandığında, kullanıcının mevcut konumu(cihaz konumu) varsa ve başlangıç noktası olarak kullanılıyorsa (açıkça sağlanmış veya başlangıç noktası parametresi atlandığında örtülü olarak kullanılmış) Google Haritalar adım adım navigasyon modunda başlatılır. Aksi takdirde, rota önizlemesi gösterilir.

Adım adım navigasyon, dir_action=navigate ayarlandığında ve şu durumlarda başlatılır:

  • Başlangıç noktası belirtilmiş ve kullanıcının mevcut konumuna yakınsa
  • Kaynak atlanır ve kullanıcının mevcut konumu kullanılabilir

Rota önizlemesi şu durumlarda başlatılır:

  • dir_action=navigate ayarlanmadı
  • dir_action=navigate ayarlanmış ve kaynak belirtilmişse ve kaynak, kullanıcının mevcut konumuna yakın değilse
  • dir_action=navigate ayarlanmış ve kaynak atlanmışsa ve kullanıcının mevcut konumu kullanılamıyorsa

Navigasyon özelliğinin Google Haritalar Web gibi tüm Google Haritalar ürünlerinde ve/veya tüm hedefler arasında kullanılamadığını unutmayın. Bu durumlarda bu parametre yoksayılır.

Adım adım navigasyon Rota Önizlemesi
Adım adım navigasyon
Rota Önizlemesi

Sonuç

Haritalar URL'lerini doğru şekilde oluşturarak kullanıcıların ihtiyaç duydukları doğru bilgilere hızlı ve verimli bir şekilde ulaşmasını sağlayabilirsiniz.

  • Hedefi her zaman belirtin ve doğruluğu garanti etmek için mümkün olduğunda yer kimliği kullanın.

  • Hedefiniz anında navigasyon sağlamaksa adım adım navigasyonu tetiklemek için dir_action=navigate parametresini ekleyin. Cihaz konumu mevcutsa ve başlangıç noktası olarak kullanılıyorsa (açıkça ayarlanmış veya atlanmış) navigasyon kullanıcının mevcut konumundan başlar.

Uygulamanız için doğru yaklaşımı seçme

İki temel seçeneğiniz vardır: Places API tarafından sağlanan önceden biçimlendirilmiş URL'lerden yararlanmak veya uygulamanızda Haritalar URL'lerini manuel olarak oluşturmak. Her yaklaşımın kendine özgü avantajları ve dezavantajları vardır.

Places API:

  • Yer Ayrıntıları yanıtındaki googleMapsUri ve googleMapsLinks alanları kullanıma hazır URL'ler sağlar. Bu, geliştirme süresini kısaltır ve URL biçimlendirmesindeki hata riskini en aza indirir.

  • Yol tariflerinin yapılandırılması üzerinde daha az kontrol sağlar. googleMapsLinks temel yol tarifleri sunsa da ara noktaları veya gelişmiş özelleştirmeyi desteklemez. Ayrıca, adım adım navigasyonu doğrudan tetiklemek de nispeten daha az kolaydır.

Haritalar URL'leri:

  • Daha fazla esneklik ve kontrol sunar. Geliştiriciler, yer ayrıntılarını göstermek için URL'ler oluşturabilir ve yol tariflerinin çeşitli yönlerini (ör. ara noktalar ekleme, seyahat modlarını belirtme ve adım adım navigasyonu başlatma) yapılandırabilir.

  • URL parametreleri ve yapısı hakkında daha ayrıntılı bilgi sahibi olmanız gerekir. Manuel oluşturma, dikkatli yapılmadığı takdirde hata olasılığını artırır.

UTM parametreleriyle Haritalar URL'lerini iyileştirme

Google'ın, geliştiricilerin Haritalar URL'lerini nasıl entegre ettiğini daha iyi anlamasına ve optimum performans sağlamasına yardımcı olmak için URL oluşturma işlemine UTM izleme parametrelerini eklemenizi öneririz. utm_source ve utm_campaign parametrelerini ekleyerek, kullanım kalıplarını analiz etmemize ve Haritalar URL'leri ürününü iyileştirmemize olanak tanıyan değerli veriler sağlarsınız.

utm_source parametresi için uygulamanızın adını kullanın. utm_campaign parametresi, kullanıcının amaçladığı işlemi (ör. "location_sharing", "place_details_search" veya "directions_request") yansıtmalıdır.

Örneğin, UTM parametreleri içeren bir URL şu şekilde görünebilir:

https://www.google.com/maps/search/?api=1&query=Sydney+Opera+House&query_place_id=ChIJ3S-JXmauEmsRUcIaWtf4MzE&utm_source=YourAppName&utm_campaign=place_details_search

Bu parametreleri tutarlı bir şekilde kullanmak, iyileştirilmesi gereken alanları belirlememize, sorunları daha etkili bir şekilde gidermemize ve sonuç olarak tüm kullanıcılara daha iyi bir deneyim sunmamıza yardımcı olur.

Sonraki Adımlar

Daha fazla bilgi için önerilen kaynaklar:

Katkıda bulunanlar

Başlıca yazarlar:

Teresa Qin | Google Haritalar Platformu Çözüm Mühendisi