Locator Plus uygulama kılavuzu

Genel Bakış

web iOS API

Google Haritalar Platformu; web (JS, TS), Android ve iOS'te kullanılabilir. Ayrıca yerler, yol tarifleri ve mesafeler hakkında bilgi almak için web hizmetleri API'leri sunar. Bu kılavuzdaki örnekler tek bir platform için yazılmıştır ancak diğer platformlarda uygulama için doküman bağlantıları sağlanmıştır.

Hemen oluşturun!

Hızlı Oluşturucu Google Cloud Console'da, İşletme Profili girişlerini içe aktarma ve üçüncü taraf sağlayıcıların randevu rezervasyonu bağlantılarını otomatik olarak yerleştirme gibi işlemlerle hızlıca bir konum bulucu oluşturmanıza olanak tanır. Etkileşimli kullanıcı arayüzü, kod oluşturmanıza ve birkaç dakika içinde Cloud'a dağıtmanıza olanak tanır.

Kullanıcılarınız ürün ve hizmetleri online olarak araştırmak, ziyaret etmek, randevu almak veya siparişleri teslim almak için en iyi ve en uygun konumu bulmak istiyor. Kullanıcılar konumunuza olabildiğince hızlı ulaşmak ister. Siz de onlara fiziksel konumlarınıza yapılan ziyaretleri artıran, kullanıcı memnuniyetini güçlendiren ve destek görüşmelerini azaltan zengin online deneyimler sunmak istersiniz. Müşterilerinizin konumunuzu bulup bulamadığını belirlemek için yer bulma aracınızın başarısını da ölçmeniz ve hangi alanlarda iyileştirme yapmanız gerektiğini anlamanız gerekir.

Bu belgede sunduğumuz rehberlik ve özelleştirme ipuçları olan Locator Plus, harika bir konum bulucu kullanıcı deneyimi oluşturmak için Google Haritalar Platformu API'lerinin en iyi kombinasyonu olarak önerdiğimiz çözümdür. Bu uygulamaları izleyerek kullanıcıların konumlarınızı haritada bulmasına, karar vermek için ihtiyaç duydukları ayrıntılı bilgileri görmesine ve araba, bisiklet, yaya veya toplu taşıma ile seyahat ediyor olsalar da onlara yol tarifi vermesine yardımcı olabilirsiniz.

Locator Plus kullanıcıları için analiz kontrol paneli, verilerinizi analiz etmenize ve verilerinizden analizler oluşturmanıza yardımcı olur. Böylece, alışveriş yapan kullanıcıların mağaza bulucunuzla ne kadar iyi etkileşim kurduğu hakkında net bir fikir edinebilirsiniz. Bu rapora erişmek için konsolun Etkileşim Raporları bölümüne gidin. Bu rapor hakkında daha fazla bilgi için Etkileşim raporları başlıklı makaleyi inceleyin.

Aşağıdaki şemada, Locator Plus'ı uygulamada kullanılan temel API'ler gösterilmektedir. Şemada, kullanıcıya mümkün olan en iyi ve en eksiksiz bilgi setini sunmak için Yer Ayrıntıları ile birleştirebileceğiniz kendi konum verilerinizin bulunduğu bir veritabanı da gösterilmektedir. (Büyütmek için tıklayın.)

Şemanın sol tarafında, bir web tarayıcısında yer ayrıntıları pop-up'ı içeren bir harita gösteriliyor.
              Şemanın sağ tarafında, farklı işlevler sağlayan API'lerin listesi:
              Konum görselleştirme ve içerik, harita stili, gelişmiş işaretçiler, özel Street View ve rotaları görüntüleme için Maps JavaScript API. Adres tamamlama ve yazarken tahmin etme işlevleri için Yer Adı Otomatik Tamamlama. Adres konumu için Places API (Yeni) ve Geocoding API. Konumları mesafeye, zamana ve ulaşım şekline göre sıralamak, ayrıca seyahat süresine ve ulaşım şekline göre bir rota göstermek için Routes API.
              Diyagramın ortasında, özel konum veri noktalarını temsil eden bir veri deposu simgesi, web sunucusu ile veri deposu arasında veri okuma ve yazmayı gösteren çift başlı bir okla web sunucusu simgesine kadar. Web tarayıcısı ile API'ler arasındaki oklar, web sunucusundan aracı olarak geçer.

API'ler etkinleştiriliyor

Bu uygulamaları kullanmak için Google Cloud Console'da aşağıdaki API'leri etkinleştirmeniz gerekir: Kurulum hakkında daha fazla bilgi için Google Haritalar Platformu'nu kullanmaya başlama başlıklı makaleyi inceleyin.

Uygulama bölümleri

Bu belgede ele alacağımız uygulamalar ve özelleştirmeler aşağıda verilmiştir.

  • Onay işareti simgesi, temel bir uygulamadır.
  • Yıldız simgesi, çözümü geliştirmek için isteğe bağlı ancak önerilen bir özelleştirmedir.
Konumlarınızı etkileşimli bir haritada gösterme

Kullanıcıların konum ayrıntılarını görmesine, hareket etmesine ve yakınlaştırıp uzaklaştırmasına olanak tanıyan bir harita oluşturun.

Alternatif olarak, Quick Builder Locator Plus çözümünü inceleyerek İşletme Profili listelemelerinizdeki işletme bilgilerini içe aktarma, randevu bağlantılarını yerleştirme ve Google Cloud Storage'a dağıtma gibi işlemlerle hızlıca harita oluşturabilirsiniz.

Yer Ayrıntılarını Sağlama Kullanıcılar haritada size en yakın konumları bulduktan sonra, karar vermelerine yardımcı olmak için bu konumlarla ilgili anlamlı Yer Ayrıntıları gösterin.
Konumları 45 derecelik açıyla gösterme Kullanıcılara konumunuzun 45 derecelik açıyla uydu görünümünü sunarak daha iyi bir görsel deneyim yaşatın.
Kullanıcınızın konumunu belirleme Tüm platformlarda kullanıcı deneyimini iyileştirmek ve en az tuş vuruşuyla adres doğruluğunu artırmak için yazarken arama işlevini ekleyin.
En yakın konumlara seyahat süresini ve mesafeyi gösterme Birden fazla başlangıç ve hedef için seyahat mesafesini ve süresini hesaplayın. İsteğe bağlı olarak yürüme, araba kullanma veya bisikletle gitme gibi çeşitli ulaşım şekillerini belirtebilirsiniz.
Kullanıcıların randevu almasına yardımcı olma

Kullanıcıların yer ayrıntıları yan panelinden randevu almasına izin verin.

Alternatif olarak, Quick Builder Locator Plus çözümünü inceleyerek İşletme Profili listelemelerinizdeki işletme bilgilerini içe aktarma, randevu bağlantılarını yerleştirme ve Google Cloud Storage'a dağıtma gibi işlemlerle hızlıca harita oluşturabilirsiniz.

Yerel teklifleri gösterme Kullanıcılara, yer ayrıntıları yan panelinde tıklanabilir yerel teklifler gösterin.
Navigasyon talimatları sağlama Yürüyerek, arabayla, bisikletle ve toplu taşıma gibi çeşitli ulaşım araçlarını kullanarak başlangıç noktasından varış noktasına yol tarifi verileri alın.
Haritanızı özelleştirme Konumlarınızın öne çıkmasına yardımcı olmak için özel harita işaretçileri oluşturun ve haritayı marka renklerinize uyacak şekilde stilize edin. Kullanıcıların daha iyi yön bulmasına yardımcı olmak için haritanızda belirli önemli yerleri (ÖY) gösterin (veya gizleyin) ve haritanın karmaşık görünmesini önlemek için ÖY yoğunluğunu kontrol edin.
Analizlerle kullanım bilgileri edinme Yer bulma aracı stratejiniz ve uygulaması hakkında analizler elde etmek için Google Analytics'i yapılandırın ve kullanın.
Yol tariflerini mobile gönderme Konum belirleyicide yol tariflerini göstermenin yanı sıra, kullanıcıların telefonlarına da yol tarifleri gönderebilirsiniz. Böylece kullanıcılar, hareket halindeyken Google Haritalar'ı kullanarak yol tarifi alabilir.
Kullanıcıların konumları görselleştirmesine yardımcı olmak için Street View'u gösterme Kullanıcılara 360 derece görünümlü Street View görüntüleri sunarak yönlerini daha iyi bulmalarına ve konumlarınızı daha hızlı bulmalarına yardımcı olun.
Coğrafi konum ile kullanıcı konumunu belirleme Cihazdaki konum hizmetlerini kullanmak istemiyorsanız kullanıcı konumunu belirlemek için Coğrafi Konum'u kullanın.
Özel konum verilerini yer ayrıntılarıyla birleştirme Kullanıcılara karar vermeleri için zengin bir veri grubu sunmak amacıyla kendi özel konum ayrıntılarınızı yer ayrıntılarıyla birleştirin.

Konumlarınızı etkileşimli bir haritada gösterme

Yer bulma aracı, kullanıcı deneyiminin önemli bir parçasıdır. Ancak bazı sitelerde harita bile olmayabilir. Bu durumda kullanıcıların yakındaki bir konumu bulmak için siteden veya uygulamadan ayrılması gerekir. Bu durum, ihtiyaç duydukları bilgileri almak için sayfalar arasında gezinmek zorunda kalan kullanıcılar için ideal olmayan bir deneyim anlamına gelir. Bunun yerine, haritaları uygulamalarınıza yerleştirip özelleştirerek bu deneyimi iyileştirebilirsiniz.

Bu işlevi iki şekilde etkinleştirebilirsiniz: Quick Builder Locator Plus çözümünü kullanarak hazır olarak sunabilir veya kendi Dinamik Haritalar uygulamanızı kullanabilirsiniz. Bu bölümde bu seçenekler ayrıntılı olarak açıklanmaktadır.

Locator Plus Hızlı Oluşturucu'yu kullanma

İşletme Profilinizdeki işletme bilgilerini içe aktarmak için Quick Builder Locator Plus çözümünü kullanabilirsiniz. Bu sayede, İşletme Profilinizin işletme ayrıntılarında yapılan değişiklikler web sitenizdeki mağaza bulucuya yansıtılır. Bu değişiklikler arasında çalışma saatleri, iletişim bilgileri, fotoğraflar, hizmet seçenekleri ve daha fazlası yer alabilir. Hızlı Oluşturucu, işletme konumlarını haritada ayarlamayı hızlıca keşfetmenize, dağıtılabilir kod oluşturmanıza veya doğrudan Google Cloud Storage'a birkaç dakika içinde dağıtmanıza olanak tanır.

İşletme Profili'nden işletmenin bulunduğu konum ayrıntılarını Hızlı Oluşturucu'ya aktarma
İşletme Profili'ndeki işletme ayrıntılarını içe aktararak Locator Plus'taki konumlarınızı yönetme

Locator Plus uygulamasını doğrudan Google Cloud Storage'a dağıtma
Google Cloud'u kullanarak Locator Plus çözümünüzü dağıtma

Kendi dinamik harita uygulamanızı kullanma

Bu örnekte kullanılanlar: Maps JavaScript API Ayrıca şunlar da mevcuttur: Android | iOS

Sayfanıza dinamik bir harita eklemek için birkaç satır kod yazmanız yeterlidir. Dinamik harita, kullanıcıların üzerinde gezinebileceği, yakınlaştırıp uzaklaştırabileceği ve farklı konumlar ile ilgi çekici noktalar hakkında ayrıntılı bilgi alabileceği bir haritadır.

Öncelikle Maps JavaScript API'yi sayfaya eklemeniz gerekir. Bu işlem, HTML sayfanıza aşağıdaki komut dosyasını bağlayarak yapılır. libraries=marker dahil olmak üzere, haritaya gelişmiş işaretçiler ekleyebilirsiniz.

<script defer src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=marker&callback=initMap&solution_channel=GMP_guides_locatorplus_v2_a"></script>

URL, sayfa yüklendiğinde çalışan JavaScript initMap işlevine referans veriyor. URL'de, haritanızın dilini veya bölgesini de tanımlayarak hedeflediğiniz ülke için doğru şekilde biçimlendirildiğinden emin olabilirsiniz. Bölge ayarlamak, ABD dışında kullanılan uygulamaların davranışının da ayarladığınız bölgeye göre şekillenmesini sağlar. Desteklenen dillerin ve bölgelerin tam listesi için Google Haritalar Platformu Kapsam Ayrıntıları'nı inceleyin ve region parametre kullanımı hakkında daha fazla bilgi edinin.

Ardından, haritanızı sayfaya yerleştirmek için bir HTML div gerekir. Haritanın gösterileceği yerdir.

<div id="map"></div>

Bir sonraki adım, haritanızın temel işlevini ayarlamaktır. Bu işlem, komut dosyası URL'sinde belirtilen initMap komut dosyası işlevinde yapılır. Aşağıdaki örnekte gösterilen bu komut dosyasında, başlangıç konumunu, harita kimliğini (gelişmiş işaretçiler ve bulut tabanlı harita stili için gereklidir), harita türünü ve kullanıcılarınızın haritada hangi kontrolleri kullanabileceğini ayarlayabilirsiniz. getElementById() ifadesinin önceki örnekteki div "harita" kimliğini referans aldığını unutmayın.

function initMap() {
  const map = new google.maps.Map(document.getElementById("map"), {
    zoom: 12,
    center: { lat: 51.485925, lng: -0.129500 },
    mapId: "DEMO_MAP_ID",
    zoomControl: false
  });
}

Konum belirleme aracı için genellikle başlangıç konumunu, merkez noktasını veya sınırları ve yakınlaştırma düzeyini (haritanın bu konuma ne kadar yakınlaştırıldığı) ayarlamak istersiniz. Kontrollerin ayarlanması gibi diğer öğelerin çoğu, haritayla etkileşim düzeyini belirlediğiniz için isteğe bağlıdır.

Yer kimliklerini alma

Bu örnekte kullanılanlar: Places API (Yeni) Ayrıca şunlar da mevcuttur: JavaScript

Konumlarınızın adresi ve telefon numarası gibi temel bilgileri içeren bir konum veritabanınız olabilir. Google Haritalar Platformu'nun söz konusu yerle ilgili coğrafi koordinatlar ve kullanıcı tarafından gönderilen bilgiler de dahil olmak üzere sahip olduğu bilgileri getirmek için veritabanınızdaki konumların her birine karşılık gelen yer kimliğini bulun. Places API (Yeni) içindeki Text Search (New) uç noktasına çağrı yapabilir ve alan maskesinde yalnızca places.id alanını isteyebilirsiniz (bu, Text Search Essentials IDs Only SKU'yu tetikler). Google Londra ofisinin yer kimliğini isteme örneğini aşağıda bulabilirsiniz:

curl -X POST -d '{
  "textQuery" : "Google London"
}' \
-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'

Bu yer kimliğini veritabanınızda depolayabilir ve yerle ilgili bilgi istemek için etkili bir yöntem olarak kullanabilirsiniz. Aşağıda, yer kimliğini kullanarak coğrafi kodlama yapma, yer ayrıntılarını alma ve yere yol tarifi isteme talimatları verilmiştir.

Konumlarınıza coğrafi kod ekleme

Bu örnekte kullanılanlar: Geocoding API Ayrıca şunlar da mevcuttur: JavaScript

Konum veritabanınızda sokak adresleri var ancak coğrafi koordinatlar yoksa işaretçiyi haritaya yerleştirmek için Geocoding API'yi kullanarak bu adresin enlem ve boylamını elde edin. Adreslerinize sunucu tarafında coğrafi kod verebilir, enlem ve boylamları veritabanınızda saklayabilir ve en az 30 günde bir yenileyebilirsiniz.

Google Londra ofisi için döndürülen yer kimliğinin enlemini ve boylamını almak üzere Geocoding API'nin kullanıldığı bir örneği aşağıda bulabilirsiniz:

https://maps.googleapis.com/maps/api/geocode/json?place_id=ChIJVSZzVR8FdkgRTyQkxxLQmVU&key=YOUR_API_KEY&solution_channel=GMP_guides_locatorplus_v2_a

Haritaya konum ekleme

Sonraki adım, konumlarınızı haritaya eklemektir. Bu işlem genellikle haritaya gelişmiş işaretçiler eklenerek yapılır. Bununla birlikte, veri katmanları gibi kullanabileceğiniz başka seçenekler de vardır.

Konumunuzun enlemini ve boylamını aldıktan sonra, özel metin glifi içeren gelişmiş bir işaretçiyi haritaya ekleme örneğini aşağıda bulabilirsiniz:

const pin = new google.maps.marker.PinElement({
  glyphText: "A",
});

const marker = new google.maps.marker.AdvancedMarkerElement({
  map,
  position: { lat: 51.493073, lng: -0.146550 },
  title: "Location Name",
});
marker.append(pin);

Birkaç işaretçiyle birden fazla konumun yerini birlikte görebilirsiniz.

Çok sayıda konum varsa JavaScript, JavaScript veya Android için iOS yardımcı programını kullanabilirsiniz. JavaScript mağaza bulucu GitHub örneğindeki işaretçi kümelemeye dair bir örneği burada bulabilirsiniz.

Yer ayrıntılarını sağlama

Bu örnekte kullanılanlar: Maps JavaScript API Ayrıca şunlar da mevcuttur: Places API (Yeni) | Android | iOS

Kullanıcıların konumlarınızdan birini ziyaret etmeden önce bilmesi gereken yer ayrıntılarını paylaşabilirsiniz. İletişim bilgileri, çalışma saatleri, kullanıcı puanları, kullanıcı fotoğrafları ve geçici kapanma durumu gibi zengin yer ayrıntıları sayesinde kullanıcılarınız, konumunuzu ziyaret ettiklerinde neyle karşılaşacaklarını tam olarak bilirler. Places API (New) için bir çağrı yaptıktan sonra yanıtı filtreleyebilir ve bir bilgi penceresinde, web kenar çubuğunda veya istediğiniz başka bir şekilde oluşturabilirsiniz.

Yer Ayrıntıları isteğinde bulunmak için her konumunuzun yer kimliğine ihtiyacınız vardır. Konumunuzun yer kimliğini almak için Yer kimliklerini alma başlıklı makaleyi inceleyin.

Yer ayrıntıları isteğinde bulunmak için videoları görmek üzere genişletin:

Çalışma saatlerini öğrenme

Kapanışları kontrol etme

Maliyetleri kontrol altına alın

Aşağıdaki örnekte, Yer Ayrıntılarını almak ve bunları bir bilgi penceresine eklemek için Yer Kitaplığı, Maps JavaScript API'deki Place sınıfı kullanılır. Bu uygulama, kullanıcının ilgi alanlarından bağımsız olarak tüm konumlar için önceden ayrıntı getirmek yerine yalnızca kullanıcı işaretçiyi tıklayarak ayrıntı istediğinde Yer Ayrıntıları isteğini tetikleyerek maliyet tasarrufu sağlayan bir strateji kullanır.

     
  const marker = new google.maps.marker.AdvancedMarkerElement({
    map,
    position: { lat: 51.493073, lng: -0.14655 },
    gmpClickable: true,
  });
  const place = new google.maps.places.Place({
    id: "ChIJVSZzVR8FdkgRTyQkxxLQmVU",
  });
  const infowindow = new google.maps.InfoWindow();

  marker.addEventListener("gmp-click", async () => {
    await place.fetchFields({
      fields: ["displayName", "formattedAddress", "rating", "websiteURI"],
    });

    infowindow.setContent(
      "<div><strong>" +
        place.displayName +
        "</strong><br>" +
        place.formattedAddress +
        "<br>" +
        "Rating: " +
        place.rating +
        " stars<br>" +
        place.websiteURI +
        "</div>"
    );

    infowindow.open({
      map,
      anchor: marker,
    });
  });
  
  

Konumları 45 derecelik açıyla gösterme

Bu örnekte kullanılanlar: Maps JavaScript API Ayrıca şunlar da mevcuttur: Android | iOS

Kullanıcılara konumunuzun kuş bakışı görünümünü sunmak, yerin nasıl göründüğü hakkında daha net bir fikir edinmelerine yardımcı olur. Bu da kullanıcılara yeri bulma konusunda yardımcı olur. Kullanıcı daha fazla ayrıntı görmek için tek bir konum seçtiğinde, 45° açıyla çekilmiş uydu görüntülerini göstermek üzere bu konumu yakınlaştırabilirsiniz.

Aşağıdaki kod örneği, haritayı yüksek bir yakınlaştırma seviyesine, uyumlu bir harita türüne ve varsa 45° görüntüleri gösterecek bir eğim açısına ayarlar. 45° açılı görüntülerin kullanılabilirliği ile ilgili ayrıntılar belgelerde açıklanmıştır.

function seeDetail(location) {
  map.setCenter(location);
  map.setZoom(19);
  map.setMapTypeId(google.maps.MapTypeId.HYBRID);
  map.setTilt(45);
}

Orijinal harita görünümüne sıfırlama

Kullanıcılar genellikle tek bir konumun ayrıntılı görünümü ile yakındaki birkaç konumun özet görünümü arasında geçiş yapmak ister. Bunu kolaylaştırmak için kullanıcının ayrıntı görünümünden harita etkileşimlerinde veya liste görünümünde ayrıldığını algılayacak bir dinleyici ekleyin. Örneğin, zoom_changed nesnesinde map etkinliğinin dinlenmesi, kullanıcının ayrıntılı görünümde manuel olarak uzaklaştığını veya yakınlaştırma seviyesini güncelleyen başka bir fonksiyonu çağırdığını gösterir. Bu örnekte, uzaklaştırma işlemi haritayı orijinal harita türüne ve eğimine sıfırlar.

let originalMapTypeId = google.maps.MapTypeId.ROADMAP;
map.addListener("zoom_changed", () => {
  const newZoom = map.getZoom()!;

  if (newZoom < 19) {
    map.setTilt(0);
    map.setMapTypeId(originalMapTypeId);
  }
});

Kullanıcınızın konumunu belirleme

Bu örnekte kullanılanlar: Maps JavaScript API Ayrıca şunlar da mevcuttur: Android | iOS

Herhangi bir yer bulma aracındaki bir sonraki önemli bileşen, kullanıcınızın başlangıç konumunu belirlemektir. Varsayılan olarak, kaynağı kullanıcının mevcut konumu olarak ayarlamak için kullanıcı izinleri istemek üzere mobil konum hizmetlerini ve web tarayıcısı coğrafi konumunu kullanabilirsiniz. Ancak kullanıcı bu izinleri reddedebilir veya başlangıç noktası olarak farklı bir konum ayarlamak isteyebilir.

Günümüz kullanıcıları, Google Haritalar'ın tüketici sürümündeki otomatik tamamlama işlevine alışkındır. Bu işlev, mobil cihazlarda ve web'de Google Haritalar Platformu Yerler kitaplıklarını kullanan tüm uygulamalara entegre edilebilir. Kullanıcı bir adres yazdığında otomatik tamamlama, widget'ları kullanarak geri kalanını doldurur. Ayrıca doğrudan Yer Adı Otomatik Tamamlama Veri API'sini kullanarak kendi otomatik tamamlama işlevinizi de sağlayabilirsiniz.

Yer Adı Otomatik Tamamlama kitaplığını sitenize eklemek için Maps JavaScript API komut dosyası URL'sine birkaç sorgu parametresi eklemeniz yeterlidir. Aşağıdaki örnekte, toplama işlemi libraries=places,marker'dır.

<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=places,marker&callback=initMap&solution_channel=GMP_guides_locatorplus_v2_a" defer></script>

Ardından, PlaceAutocompleteElement widget'ının ekleneceği sayfaya bir kapsayıcı öğe ekleyin.

<div id="autocomplete-container"></div>

Son olarak PlaceAutocompleteElement widget'ını başlatın ve kapsayıcıya ekleyin. includedPrimaryTypes: ["geocode"] ile Yer Adı Otomatik Tamamlama tahminlerini kısıtlama, kullanıcıların başlangıç noktalarını tanımlamak için herhangi bir ayrıntı düzeyini girebilmesi amacıyla widget'ı açık adresleri, mahalleleri, şehirleri ve posta kodlarını kabul edecek şekilde yapılandırır. Kullanıcı bir tahmini seçtiğinde gmp-select etkinliği tetiklenir ve kullanıcının başlangıç noktasının enlem ve boylamını içeren location alanını istemek için place.fetchFields() işlevini çağırabilirsiniz. Haritayı yeniden ortalamak ve konumlarınızın başlangıç noktasıyla ilişkisini belirtmek için bu harita koordinatlarını kullanırsınız.

  // Create the PlaceAutocompleteElement, restricting predictions to
  // geographical location types in the United Kingdom.
  const placeAutocomplete = new google.maps.places.PlaceAutocompleteElement({
    includedPrimaryTypes: ["geocode"],
    includedRegionCodes: ["gb"],
  });
  placeAutocomplete.placeholder = "Enter starting address, city, or zip code";
  document.getElementById("autocomplete-container").appendChild(placeAutocomplete);

  // When the user selects an address from the drop-down,
  // zoom to the selected location and add an advanced marker.
  placeAutocomplete.addEventListener("gmp-select", async ({ placePrediction }) => {
    const place = placePrediction.toPlace();
    await place.fetchFields({
      fields: ["location", "formattedAddress"],
    });
    addUserLocation(place);
  });
}

Bu örnekte, kullanıcı adresi seçtikten sonra addUserLocation() işlevi yürütülür. Bu işlem, eşleşen sonucun konumunu alır, haritayı bu konuma taşır ve gelişmiş bir işaretçi ekler.

function addUserLocation(place) {
  const pin = new google.maps.marker.PinElement({
    glyphText: "C",
  });

  // Add an advanced marker to the map.
  const marker = new google.maps.marker.AdvancedMarkerElement({
    map,
    position: place.location,
  });
  marker.append(pin);

  // Pan and zoom the map to the marker.
  map.panTo(place.location);
  map.setZoom(12);
}

Ardından, aşağıdaki resimde gösterildiği gibi kullanıcı ile belirli konumlar arasındaki ilişkiyi görebilirsiniz.

Yer otomatik tamamlama özelliğini uygulamanıza ekleme ile ilgili video açıklamaları görmek için bu bölümü genişletin:

Web sitesi

Android uygulamaları

iOS uygulamaları

En yakın konumlara seyahat süresi ve mesafe gösteriliyor

Bu örnekte kullanılanlar: Routes API Ayrıca şunlar da mevcuttur: Routes Library, Maps JavaScript API

Kullanıcının konumunu öğrendikten sonra bu konumu kendi konumlarınızla karşılaştırabilirsiniz. Bunu, Routes API'deki Compute Route Matrix özelliği (veya Routes Library, Maps JavaScript API'deki RouteMatrix sınıfı) ile yapmak, kullanıcılarınızın sürüş süresine veya yol mesafesine göre kendileri için en uygun konumu seçmelerine yardımcı olur.

Bir kullanıcının yakınındaki konumları göstermek için konumlarınızın zaten doldurulmuş olması gerekir. Kendi konum veritabanınızı kullanırken, verilerin bir haritada kullanılabilecek bir biçimde olduğundan emin olmanız gerekir. Örneğin, Veri Katmanı konusundaki GeoJSON biçimi.

Konum listesini düzenlemenin standart yolu, konumları mesafeye göre sıralamaktır. Bu mesafe genellikle kullanıcının konumuna olan düz çizgi kullanılarak hesaplanır ancak bu yanıltıcı olabilir. Düz çizgi, geçilemez bir nehrin veya yoğun yolların üzerinden geçebilir. Başka bir konumun daha uygun olabileceği bir zamanda. Bu, özellikle birbirine birkaç kilometre mesafede birden fazla konumunuz varsa önemlidir.

computeRouteMatrix yöntemi, başlangıç ve varış noktalarının listesini alıp bu noktalar arasındaki seyahat mesafesinin yanı sıra seyahat süresini de döndürerek çalışır. Kullanıcılar için başlangıç noktası mevcut konumları veya tercih ettikleri başlangıç noktası, hedefler ise konumların hedefleri olur. Başlangıç ve varış noktaları, koordinat çiftleri, yer kimlikleri veya adresler olarak belirtilebilir. Mevcut veya gelecekteki sürüş sürelerine göre sonuçları göstermek için computeRouteMatrix ile TRAFFIC_AWARE gibi yönlendirme tercihlerini kullanabilirsiniz.

Aşağıdaki örnekte, kullanıcının başlangıç ve hedef yer kimlikleri belirtilerek Routes API'deki computeRouteMatrix uç noktası çağrılıyor. Bu örnekte, harita merkezinden Londra'daki üç Google ofisine olan mesafe ve seyahat süresi hesaplanmaktadır:

curl -X POST -d '{
  "origins": [
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 51.493490,
            "longitude": -0.097288
          }
        }
      }
    }
  ],
  "destinations": [
    {
      "waypoint": {
        "placeId": "ChIJVSZzVR8FdkgRTyQkxxLQmVU"
      }
    },
    {
      "waypoint": {
        "placeId": "ChIJVSZzVR8FdkgR-HklrBMO0Hc"
      }
    },
    {
      "waypoint": {
        "placeId": "ChIJ4abvVDwbdkgRDZVFR7A6Bcc"
      }
    }
  ],
  "travelMode": "DRIVE",
  "routingPreference": "TRAFFIC_AWARE"
}' \
-H 'Content-Type: application/json' \
-H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status,condition' \
'https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix'

Hizmetten gelen yanıtta, aşağıdaki örnekte gösterilene benzer şekilde her başlangıç ve hedef çifti için mesafe (metre cinsinden) ve süre yer alır:

Örnek yanıtı görmek için genişletin:

[
  {
    "originIndex": 0,
    "destinationIndex": 0,
    "status": {},
    "distanceMeters": 4540,
    "duration": "924s",
    "condition": "ROUTE_EXISTS"
  },
  {
    "originIndex": 0,
    "destinationIndex": 1,
    "status": {},
    "distanceMeters": 5043,
    "duration": "1044s",
    "condition": "ROUTE_EXISTS"
  },
  {
    "originIndex": 0,
    "destinationIndex": 2,
    "status": {},
    "distanceMeters": 6919,
    "duration": "1357s",
    "condition": "ROUTE_EXISTS"
  }
]

Aşağıdaki resimde, bir harita üzerinde başlangıç noktası (kırmızı işaretçi C) ve varış noktaları gösterilmektedir:

Resimde, kullanıcının konumunun kırmızı işaretçi olarak gösterildiği bir şehir haritası ve çevresindeki konumların yeşil işaretçiler olarak gösterildiği bir harita yer alıyor.

Aşağıdaki tabloda gösterildiği gibi, düz çizgi mesafesi ile rota mesafesi genellikle farklıdır.

Konum Düz Mesafe Trafikteki Yol / Zaman
A konumu 3,32 km 4,5 km / 15 dakika
B Konumu 3,20 km 5,0 km / 17 dakika
C Konumu 4,84 km 6,9 km / 23 dakika

B Konumu mesafeye göre en yakın konum olsa da A Konumu otoyol üzerinden erişilebildiği için rota ve oraya ulaşma süresi daha uzundur.

Bu isteği gönderdikten sonra, sürüş süresine göre yanıtları sıralamak için eşleşmeyi işleyebilirsiniz. Bu tür bir işlevin örneklerini bulucu codelab'inde bulabilirsiniz.

Bu örnekte kullanılanlar: Routes Library, Maps JavaScript API Ayrıca: Routes API Android ve iOS'te doğrudan uygulamadan veya uzaktan bir sunucu proxy'si aracılığıyla kullanılabilen web hizmeti

Kullanıcılara yol tariflerini sitenizden veya uygulamalarınızdan göstermek, kullanıcıların sitenizden ayrılmalarına gerek kalmayacağı anlamına gelir. Bu da kullanıcıların diğer sayfalarla dikkatinin dağılmayacağı veya haritada rakipleri görmeyeceği anlamına gelir. Routes API ile yakıt veya enerji kullanımını tahmin etmek ve bir yolculuğun çevre üzerindeki etkisini göstermek için çevre dostu rotalar da isteyebilirsiniz.

Routes Library, Maps JavaScript API'deki Route sınıfı, sonuçları işlemenize ve haritada görüntülemenize olanak tanıyan createPolylines() ve createWaypointAdvancedMarkers() gibi yöntemlere de sahiptir.

Aşağıda, haritada rota isteme ve görüntüleme örneği verilmiştir. Örnek hakkında daha fazla bilgi için Rota alma başlıklı makaleyi inceleyin.

Bu Haritalar özellikleri hakkında daha fazla bilgi edinmek için Haritalar JavaScript API Belgeleri'ni okuyun veya adım adım codelab'e göz atarak bir konum belirleyici oluşturun.

Kullanıcıların randevu almasına yardımcı olma

Kullanıcılar, konumunuzun yer ayrıntılarını bir yan panelde görüntülediğinde aşağıdaki şekilde gösterildiği gibi tek bir düğmeyle randevu alma kolaylığı sunabilirsiniz.

Bu özelliği etkinleştirmenin birden fazla yolu vardır: (1) Bu işlevi kullanıma hazır olarak sunmak için Quick Builder Locator Plus çözümünü kullanma ve (2) İşletme Profilinizi kullanma. Bu bölümde bu seçenekler ayrıntılı olarak açıklanmaktadır.

Quick Builder Locator Plus'ı kullanma

İşletme bilgilerini İşletme Profilinizden hızlıca içe aktarmak için Quick Builder Locator Plus çözümünü kullanabilirsiniz. Hızlı Oluşturucu aracına aktarıldıktan sonra, Google ile Rezervasyon'u kullanarak işletme konumlarınız için uygun olan yerlerde yerleştirilmiş randevu rezervasyonu bağlantılarını etkinleştirebilirsiniz. Google Hesabı ile ilişkili bir İşletme Profiliniz olmasa bile, Google ile Rezervasyon üzerinden üçüncü taraf rezervasyon sağlayıcılarla daha önce etkinleştirdiğiniz işletmeler için rezervasyon bağlantılarını yerleştirmek üzere Hızlı Oluşturucu'yu kullanabilirsiniz*.

Google ile Rezervasyon'u kullanarak mağaza bulucuda randevu alma bağlantılarını etkinleştirme
Mağaza bulucunuza rezervasyon özellikleri ekleme

*Google ile Rezervasyon özelliği, yalnızca işletmelerin desteklenen bir randevu hizmeti sağlayıcıyla birlikte çalıştığı belirli ülkelerde/bölgelerde kullanılabilir. Google ile Rezervasyon'u kullanmak istiyorsanız ancak Google ile Rezervasyon iş ortağıyla çalışmıyorsanız sağlayıcınızdan bu talep formunu doldurarak talebini göndermesini isteyin ve nasıl başlayabileceğini görmek için dokümanlarımızı inceleyin. Halihazırda bir randevu hizmeti sağlayıcıyla çalışmıyorsanız İşletme Profili Yöneticisi'ndeki Rezervasyonlar bölümünde uygun sağlayıcıları görebilirsiniz.

Randevu alma özelliğini etkinleştirmek için İşletme Profilini kullanma

İnternetteki varlığınızı İşletme Profili ile yönettiğinizde, oluşturduğunuz işletme konumları, işletme verileriyle entegre harita işlevselliğini etkinleştirmek için Google Haritalar Platformu yer kimlikleriyle ilişkilendirilir.

İşletme Profili API'leri, uygulamalarınızda alıp gösterebileceğiniz randevu alma gibi işlemler oluşturmanıza olanak tanır. Ancak bu özelliği etkinleştirmek için aşağıda açıklandığı gibi bazı manuel adımlar gerekir.

Kullanıcılar bir yan panelde konumlarınızdan birinin yer ayrıntılarını görüntülediğinde onlara randevu alma bağlantısı sağlayabilirsiniz. Bu bölümde, bu işlemin nasıl yapılacağı açıklanmaktadır.

  1. APPOINTMENT, ONLINE_APPOINTMENT veya DINING_RESERVATION türündeki konum için İşletme Profili API'leri placeActionLink oluşturun. placeActionLink, yan paneldeki randevu bağlantısı için kullandığınız nesne olur. (İstediğiniz randevu işlemi bağlantısını zaten oluşturduysanız sonraki adıma geçin.) Başarılı bir placeActionLinks.create POST işleminden alınan örnek yanıtı aşağıda bulabilirsiniz:

    {
        "name": "locations/15899957830169237700/placeActionLinks/9c984be778a7ebbc",
        "providerType": "MERCHANT",
        "isEditable": true,
        "uri": "https://example.com/reservation-uri",
        "placeActionType": "DINING_RESERVATION",
        "createTime": "2021-05-01T01:17:41.609161Z",
        "updateTime": "2021-05-01T01:17:41.609161Z"
    }
  2. Google Haritalar Platformu yer kimliğiyle ilişkili İşletme Profili konumunu bulun.

    Kullanıcılar yer ayrıntılarını görüntülediğinde Google Haritalar Platformu yer kimliğinin ayrıntılarını görüntüler. Yer kimliği, İşletme Profili yer koduyla ilişkilendirilir. Bu nedenle, oluşturduğunuz randevu alma bağlantısını almak ve görüntülemek için harita yer kimliğine göre yer kodunu bulmanız gerekir. Aşağıdaki Business Profile API çağrılarını yapın:

    1. Projenizin hesaplarını listeleyin.
    2. Bir hesapta tüm konumları listeleme.
    3. Hesap konumlarında, LocationKey, görüntülenen konumun yer kimliğiyle karşılaştırabileceğiniz Google Haritalar Platformu yer kimliğini içerir.
  3. Yer koduyla istediğiniz işlem bağlantısını alabilirsiniz. Mevcut bir randevuyu almak için placeActionLink, konum için mevcut randevuları listeleyin placeActionLinks ve kullanmak istediğiniz randevu bağlantısını (APPOINTMENT, ONLINE_APPOINTMENT veya DINING_RESERVATION) bulmak için placeActionType'ya göre filtreleyin.

    Aşağıdaki örnekte, LIST çağrısından gelen yanıttaki bir APPOINTMENT placeActionLink gösterilmektedir.

     {
       "placeActionLinks": [
           {
               "name": "locations/15899957830169237700/placeActionLinks/9c984be778a7ebbc",
               "providerType": "MERCHANT",
               "isEditable": true,
               "uri": "https://example.com/",
               "placeActionType": "APPOINTMENT",
               "createTime": "2021-05-01T01:17:41.609161Z",
               "updateTime": "2021-05-01T01:17:41.609161Z"
           }
       ]
     }
  4. Yan panelde bir <div> oluşturun ve placeActionLink nesnesindeki alakalı verilerle, özellikle de randevu rezervasyonu bağlantısının URI'siyle doldurun.

Randevu bağlantıları eklemenin diğer alternatifleri

Bir İşletme Profili yönetmiyorsanız veya Quick Builder Locator Plus çözümünü kullanmak istemiyorsanız randevu rezervasyon platformunuzda rezervasyon widget'ını web sitesine veya uygulamaya yerleştirme ile ilgili dokümanları inceleyin. Diğer bir seçenek de envanter yönetimi için Cloud Spanner (video) gibi Google Cloud'u kullanmaktır.

Yerel teklifleri görüntüleme

Bir konumun Yer Ayrıntıları yan panelinde, kullanıcıların tıklayabileceği yerel teklifler gösterebilirsiniz. Google Benim İşletmem API'si, konumlarınızla ilişkili "gönderiler" (ör. yerel teklifler) oluşturmanıza ve almanıza olanak tanır. Aşağıdaki şekilde, yer ayrıntıları yan panelinde yerel bir fırsat örneği gösterilmektedir.

Hızlı Oluşturucu bölümündeki mimari diyagramda, teklifleri yer bulma aracınıza eklemek için kullanılabilecek Teknolojiler gösterilmektedir.

Yerel teklifler konumlarla ilişkilendirildiğinden, kullanıcıların görüntülediği konum için Google Haritalar Platformu yer kimliğiyle ilişkili İşletme Profili yer kodunu bulmanız gerekir. İşletme Profili yer kodunuz olduğunda, ilgili teklifi localPost olarak alıp Yer Ayrıntıları yan panelinizde gösterebilirsiniz. İlgili adımlar aşağıdadır:

  1. Google Benim İşletmem API ile, OFFER türünde, göstermek istediğiniz tüm fırsat gönderilerini oluşturun.
  2. Haritadaki yer kimliğiyle ilişkili İşletme Profili konumunu / yer kodunu bulun.

    Kullanıcılar yer ayrıntılarını görüntülediğinde Google Haritalar Platformu yer kimliğinin ayrıntılarını görüntüler. Yer kodu, bir İşletme Profili konum koduyla ilişkilendirilir. Bu nedenle, konumunuz için yerel teklif bağlantısını almak ve görüntülemek üzere harita yer koduna göre konum kodunu bulmanız gerekir. Aşağıdaki Business Profile API çağrılarını yapın:

    1. Projenizin hesaplarını listeleyin.
    2. Bir hesaptaki tüm konumları listeleme.
    3. Hesap konumlarında, LocationKey, görüntülenen konumun yer kimliğiyle karşılaştırabileceğiniz haritalar yer kimliğini içerir.

    Aşağıda, İşletme Profili API'lerinde bir konumun ayrıntılarıyla ilgili örnek bir istek verilmiştir:

    https://mybusiness.googleapis.com/v4/accounts/111098884960588804666/locations/15899957830169237700

    Yanıt, Google Haritalar Platformu istekleriyle kullanabileceğiniz yer kimliği olan bir locationKey alanı içerir.

    Örnek yanıtı görmek için genişletin.

          {
        "name": "accounts/111098884960588804666/locations/15899957830169237700",
        "locationName": "Sushi Sushi",
        "primaryPhone": "+49 2222 22222",
        "primaryCategory": {
            "displayName": "Restaurant",
            "categoryId": "gcid:restaurant",
        },
        "regularHours": {
            "periods": [
                {
                    "openDay": "MONDAY",
                    "openTime": "09:00",
                    "closeDay": "MONDAY",
                    "closeTime": "09:10"
                },
                {
                    "openDay": "TUESDAY",
                    "openTime": "11:30",
                    "closeDay": "TUESDAY",
                    "closeTime": "24:00"
                }
            ]
        },
        "locationKey": {
            "placeId": "ChIJs4wtL04X2jERbc8qHd_wZzk",
            "requestId": "2c72cbcb-ea2e-4d66-b684-0ef5f090300c"
        },
        "latlng": {
            "latitude": 1.3670033,
            "longitude": 103.8556385
        },
        "openInfo": {
            "status": "OPEN",
            "canReopen": true
        },
        "locationState": {
            "isGoogleUpdated": true,
            "canUpdate": true,
            "canDelete": true,
            "isVerified": true,
            "isPublished": true,
            "canHaveFoodMenus": true
        },
        "attributes": [
            {
                "attributeId": "has_delivery",
                "valueType": "BOOL",
                "values": [
                    false
                ]
            },
            {
                "attributeId": "requires_masks_customers",
                "valueType": "BOOL",
                "values": [
                    true
                ]
            },
            {
                "attributeId": "url_order_ahead",
                "valueType": "URL",
                "urlValues": [
                    {
                        "url": "https://example.com/"
                    },
                ]
            },
            {
                "attributeId": "pay_credit_card_types_accepted",
                "valueType": "REPEATED_ENUM",
                "repeatedEnumValue": {
                    "setValues": [
                        "visa"
                    ],
                    "unsetValues": [
                        "american_express"
                    ]
                }
            }
        ],
        "address": {
            "regionCode": "SG",
            "languageCode": "en-US",
            "postalCode": "560445",
            "addressLines": [
                "445 Ang Mo Kio Ave 10"
            ]
        },
        "profile": {
            "description": "Example restaurant"
        }
    }
          
  3. Artık yer koduna sahip olduğunuza göre, istediğiniz teklifi alabilirsiniz. Mevcut bir fırsat gönderisini almak için konumun mevcut localPosts'larını listeleyin ve kullanmak istediğiniz fırsat içeriğini bulmak için OFFER'nın topicType'larını filtreleyin.

    Bir konumdaki etkin yerel gönderileri listelemek için örnek bir istek:

    https://mybusiness.googleapis.com/v4/accounts/111098884960588804666/locations/15899957830169237700/localPosts

    Aşağıdaki örnekte yanıttaki OFFER localPost gösterilmektedir.

    Örnek yanıtı görmek için genişletin.

    {
        "localPosts": [
            {
                "name": "accounts/111098884960588804666/locations/15899957830169237700/localPosts/2524928563578730680",
                "languageCode": "en",
                "summary": "Buy One Get One Free on all order-ahead bento boxes today!",
                "state": "LIVE",
                "event": {
                    "title": "Bento BOGO",
                    "schedule": {
                        "startDate": {
                            "year": 2020,
                            "month": 1,
                            "day": 20
                        },
                        "startTime": {},
                        "endDate": {
                            "year": 2021,
                            "month": 1,
                            "day": 21
                        },
                        "endTime": {}
                    }
                },
                "updateTime": "2020-09-11T10:56:22.594Z",
                "createTime": "2020-09-11T10:56:22.594Z",
                "searchUrl": "https://local.google.com/place?id=4156539623820808045&use=posts&lpsid=2524928563578730680",
                "media": [
                    {
                        "name": "accounts/111098884960588804666/locations/15899957830169237700/media/localPosts/AF1QipOBQCIf40SbF_PPJxb_zvfCHmaTbv9Zw02PoYPS",
                        "mediaFormat": "PHOTO",
                        "googleUrl": "https://lh3.googleusercontent.com/p/AF1QipOBQCIf40SbF_PPJxb_zvfCHmaTbv9Zw02PoYPS"
                    }
                ],
                "topicType": "OFFER",
                "offer": {
                    "couponCode": "BOGO-JET-CODE",
                    "redeemOnlineUrl": "https://www.example.com/redeem",
                    "termsConditions": "Offer only valid for order-ahead orders placed online."
                }
            },
        ],
    }
            
  4. Yan panelde <div> oluşturup localPost nesnesinden ilgili verilerle doldurun.

Haritanızı özelleştirme

Haritanızın görünümünü ve ayrıntılarını çeşitli şekillerde değiştirebilirsiniz. Örneğin, şunları yapabilirsiniz:

  • Varsayılan harita işaretçilerinin yerine kendi özel işaretçilerinizi oluşturun.
  • Markanızı yansıtmak için harita özelliklerinin renklerini değiştirin.
  • Hangi ilgi çekici yerleri (turistik yerler, yemek, konaklama vb.) ve hangi yoğunlukta göstereceğinizi kontrol ederek kullanıcıların dikkatini konumlarınıza odaklayabilir, aynı zamanda kullanıcıların en yakın konuma ulaşmasına yardımcı olan önemli noktaları öne çıkarabilirsiniz.

Özel harita işaretçileri oluşturma

Varsayılan raptiye arka planını, kenarlığını veya glif rengini değiştirerek (ör. bir yerin açık olup olmadığını belirtmek için), işaretçiyi markanızın logosu gibi bir özel grafik resimle değiştirerek ya da özel HTML ve CSS işaretçileri oluşturarak gelişmiş işaretçilerinizi özelleştirebilirsiniz. Bilgi pencereleri, kullanıcılara çalışma saatleri, telefon numarası veya fotoğraflar gibi ek bilgiler sağlayabilir.

Aşağıda, özel grafik işaretçiler kullanan örnek bir harita verilmiştir. (Kaynak kodunu Maps JavaScript API özel grafik işaretçileri konusundan inceleyebilirsiniz.)

Ayrıntılı bilgi için JavaScript (web), Android ve iOS ile ilgili gelişmiş işaretçi belgelerine bakın.

Haritanızı stilize etme

Google Haritalar Platformu, haritanızı kullanıcıların en yakın konumu bulmasına, oraya mümkün olduğunca hızlı ulaşmasına ve markanızı güçlendirmenize yardımcı olacak şekilde stilize etmenize olanak tanır. Örneğin, harita renklerini markanıza uygun şekilde değiştirebilir ve kullanıcılara gösterilen önemli yerleri kontrol ederek haritadaki dikkat dağıtıcı unsurları azaltabilirsiniz. Google Haritalar Platformu ayrıca, bazıları seyahat, lojistik, emlak ve perakende gibi farklı sektörler için optimize edilmiş bir dizi harita başlangıç şablonu da sunar.

Google Cloud Console'daki projenizin Harita Stilleri sayfasında harita stilleri oluşturabilir veya değiştirebilirsiniz.

Cloud Console'da harita stili oluşturma ve stil verme animasyonlarını görmek için genişletin:

Sektör haritası stilleri

Bu animasyonda, kullanabileceğiniz önceden tanımlanmış sektöre özel harita stilleri gösterilmektedir. Bu stiller, her sektör türü için optimum bir başlangıç noktası sağlar. Örneğin, Perakende harita stili, haritadaki önemli yerleri azaltarak kullanıcıların konumlarınıza ve en yakın konuma olabildiğince hızlı ve güvenli bir şekilde ulaşmalarına yardımcı olacak yer işaretlerine odaklanmasını sağlar.

Harita Stili sayfasında, fareyle Yeni Harita Stili Oluştur tıklanıyor. Yeni Harita Stili sayfasında fare, aşağıdaki sektör için optimize edilmiş stillerin her birinin yanındaki radyo düğmesini tıklıyor: Seyahat, Lojistik, Gayrimenkul ve Perakende. Her düğme tıklandığında harita stili açıklaması ve grafik önizleme değişir.

Önemli yerleri kontrol etme

Bu animasyon, önemli yerlerin işaretçi rengini ayarlar ve harita stilindeki ÖY yoğunluğunu artırır. Yoğunluk ne kadar yüksek olursa haritada o kadar çok ÖY işaretçisi görünür.

Harita Stili sayfasında, fareyle Yeni Harita Stili Oluştur tıklanıyor. Yeni Harita Stili sayfasındaki Kendi Stilinizi Oluşturun bölümünde Google Haritası radyo düğmesi seçilidir. Fare, Atlas stili için Atlas radyo düğmesini, ardından Stilleri Düzenleyici'de Aç'ı tıklıyor. Stil Düzenleyici'de fareyle önce ilgi çekici yerler özelliği, ardından simge öğesi tıklanarak renk kırmızı olarak ayarlanır. Ardından fareyle ÖY Yoğunluğu onay kutusu seçilir ve yoğunluk kontrolü maksimum yoğunluk için sağa kaydırılır. Yoğunluk arttıkça harita önizlemesinde daha fazla kırmızı işaretçi görünür. Fare daha sonra Kaydet düğmesine gider.

Her harita stilinin kendi kimliği vardır. Cloud Console'da bir stil yayınladıktan sonra kodunuzda bu harita kimliğine referans verirsiniz. Bu sayede, uygulamanızı yeniden düzenlemeden harita stilini anında güncelleyebilirsiniz. Yeni görünüm, mevcut uygulamada otomatik olarak görünür ve platformlar arasında kullanılır. Aşağıdaki örneklerde, Maps JavaScript API'yi kullanarak bir web sayfasına harita kimliğinin nasıl ekleneceği gösterilmektedir.

Komut dosyası URL'sine bir veya daha fazla map_ids eklediğinizde Maps JavaScript API, bu stilleri kodunuzda çağırdığınızda haritanın daha hızlı oluşturulması için bu stilleri otomatik olarak kullanılabilir hale getirir.

<script
 src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&map_ids=MAP_IDs&callback=initMap&solution_channel=GMP_guides_locatorplus_v2_a">
</script>

Aşağıdaki kod, web sayfasında stil uygulanmış bir harita gösterir. (Haritanın sayfada görüneceği HTML <div id="map"></div> öğesi gösterilmemiştir.)

map = new google.maps.Map(document.getElementById('map'), {
  center: {lat: 51.485925, lng: -0.129500},
  zoom: 12,
  mapId: '1234abcd5678efgh'
});

Bulut tabanlı harita stilini JavaScript (web), Android ve iOS'e dahil etme hakkında daha fazla bilgi edinin.

Analizlerle kullanım analizleri elde etme

Analizleri kullanarak kullanıcıların konum bulucunuzla nasıl etkileşim kurduğu hakkında değerli bilgiler edinebilirsiniz. Bu bölümde, en çok ilgilendiğiniz verileri izlemek için Google Analytics ve İşletme Profili analizlerini yapılandırma ve izleme hakkında rehberlik sağlanmaktadır. Quick Builder Locator Plus kullanıcıları için analiz kontrol paneli, anonimleştirilmiş verilere dayanarak site ziyaretçilerinizin mağaza bulucunuzla ne kadar iyi etkileşim kurduğunu gösteren bir resim sunarak analiz yapmanıza ve analizler oluşturmanıza yardımcı olur.

Kullanıcı etkileşimi ve performans metriklerini gösteren mağaza bulucu analizleri kontrol paneli
Mağaza bulucu analizleri kontrol paneli, performans metrikleri sağlar.

Bu rapora erişmek için Cloud Console'un etkileşim raporları bölümüne gidin. Bu rapor hakkında daha fazla bilgi için etkileşim raporları bölümüne bakın.

Google Analytics birçok özellik sunduğundan kapsamlı kurulum ve kullanım bilgileri sağlamayacağız. Bunun yerine, daha fazla bilgi ve talimat için önemli dokümanlara yönlendirirken bulucu uygulamanızla ilgili temel analiz hususlarını vurgulayacağız.

Google Analytics'i Kurma

Uygulamanızla Google Analytics'i zaten kullanıyorsanız bu bölümü atlayabilirsiniz.

Aşağıda, Google Analytics'i etkinleştirmek için sitenize yapıştıracağınız bir"Global Etiket" örneği verilmiştir.

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/
gtag/js?id=G-XR5B5D4NW0"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'G-XR5B5D4NW0');
</script>

Google Etiket Yöneticisi'ni kullanıyor veya Google Analytics'i doğrudan sitenize ekliyor olsanız da, Google Analytics uygulamanızı kullanarak aşağıdakileri nasıl yapacağınızı anlamanız önemlidir:

  • Web sitesi sayfa görüntülemelerinden bağımsız olarak ölçülebilen tıklamalar gibi kullanıcı etkileşimlerini tetikleyin (etkinlikler).
  • Anlamlı gruplandırmalarda (boyutlar veya özel boyutlar) ham verileri (metrikler) görüntüleyin.

Özel etkinlikleri kullanma

Aşağıda, bulucunuzda özel bir etkinliğin nasıl tanımlanacağına dair bir örnek verilmiştir:

gtag('event', 'location', {
  'method': 'address'
});

Raporlardaki etkinlikleri anlayabilmeniz için event ve method öğelerinizi yeterince net bir şekilde adlandırmanız önemlidir. Kullanıcının aşağıdaki şekilde gösterilen Otomatik Tamamlama açılır listesinden bir adres seçmesi gibi ölçmek istediğiniz belirli etkileşimler için bunları tetikleyin.

Tanımladığınız etkinliği ve yöntemi kullanan aşağıdaki izleme çağrısını Google Analytics'e gönderebilirsiniz. (Okumayı kolaylaştırmak için her sorgu parametresini ayrı bir satırda gösteririz.)

https://www.google-analytics.com/g/collect?v=2
&tid=G-XR5B5D4NW0
>m=2oe550
&_p=64678170
&sr=1920x1200
&ul=fr
&cid=489856786.1598861364
&_s=2
&dl=http%3A%2F%2.storelocator.html
&dt=Store%20Locator
&sid=1620827159
&sct=1
&seg=1
&en=location
&_et=6032
&ep.method=address

Aşağıdaki şekilde, bu Google Analytics çağrısının tarayıcının İncele görünümündeki Ağ sekmesinde nasıl göründüğü gösterilmektedir. (Büyütmek için tıklayın).

Google Analytics'teki "Gerçek zamanlı" görünümünü inceleyerek özel etkinlik etiketlerinizin düzgün şekilde yakalandığını doğrulayabilirsiniz. Örneğin, Yer Adı Otomatik Tamamlama için daha önce ayarlanan "location" etkinliği, Google Analytics'te aşağıdaki şekillerde gösterildiği gibi görünür.

 

Alternatif olarak, aşağıdaki şekilde gösterildiği gibi DebugView'u kullanarak anlık etkinlikleri izleyebilirsiniz. Google Analytics'in Etkileşim > Etkinlikler bölümünde tam bir Etkinlikler raporuna erişmek için 24 saat beklemeniz gerektiğini unutmayın.

Ayrıca, konum bulma uygulamanızdan fiziksel konumlarınıza daha fazla ziyaretçi çekmek için stratejiler geliştirebilir ve bunları ölçebilirsiniz. Örneğin, Google Analytics'te fiziksel mağaza ziyaretleri analizlerini (Google Ads tarafından ölçülür) konum bulma uygulamanızın analizlerine bağlayan bir Analytics'te Mağaza Ziyaretleri özelliği bulunur. Ayrıca, fiziksel konumlarınızda kullanılabilen online teklifler gibi kendi uygulama-konum stratejilerinizi de geliştirebilirsiniz.

İşletme Profili metrikleri

Google Analytics ile ilgilendiğiniz etkinlikleri, metrikleri ve boyutları izlemenin yanı sıra İşletme Profili'nin kendi metrikleri de vardır. Örneğin, yer bulucunuza randevu alma ve yerel teklif bağlantıları eklerseniz bu görüntülemeler ve tıklamalarla ilgili metrikler alabilirsiniz.

İşletme Profili API'lerine yönelik aşağıdaki örnek istekte birden fazla metrik türü istenmektedir. Teklif tıklamalarını izlemek için LOCAL_POST_VIEWS_SEARCH ve LOCAL_POST_ACTIONS_CALL_TO_ACTION metrikleri en alakalı olanlardır.

Örnek isteği görmek için genişletin.

POST https://mybusiness.googleapis.com/v4/accounts/111098884960528804666/locations:reportInsights
Body:
{
 "locationNames": [
   "accounts/111098884960528804666/locations/15899957830169237700"
 ],
 "basicRequest": {
         "metricRequests": [
            {
              "metric": "QUERIES_DIRECT"
            },
            {
              "metric": "QUERIES_INDIRECT"
            },
            {
              "metric": "VIEWS_MAPS"
            },
            {
              "metric": "VIEWS_SEARCH"
            },
            {
                "metric": "ACTIONS_DRIVING_DIRECTIONS"
            },
            {
                "metric": "LOCAL_POST_VIEWS_SEARCH"
            },
            {
                "metric": "LOCAL_POST_ACTIONS_CALL_TO_ACTION"
            }
         ],
         "timeRange": {
              "startTime": "2021-01-01T01:01:23.045123456Z",
              "endTime": "2021-04-30T23:59:59.045123456Z"
         }
   }
}

Örnek yanıtı görmek için genişletin.

{
   "locationMetrics": [
       {
           "locationName": "accounts/111098884960528804666/locations/15899957830169237700",
           "timeZone": "Asia/Singapore",
           "metricValues": [
               {
                   "metric": "QUERIES_DIRECT",
                   "totalValue": {
                       "metricOption": "AGGREGATED_TOTAL",
                       "timeDimension": {
                           "timeRange": {
                               "startTime": "2021-01-01T01:01:23.045123456Z",
                               "endTime": "2021-04-30T23:59:59.045123456Z"
                           }
                       },
                       "value": "82"
                   }
               },
               {
                   "metric": "QUERIES_INDIRECT",
                   "totalValue": {
                       "metricOption": "AGGREGATED_TOTAL",
                       "timeDimension": {
                           "timeRange": {
                               "startTime": "2021-01-01T01:01:23.045123456Z",
                               "endTime": "2021-04-30T23:59:59.045123456Z"
                           }
                       },
                       "value": "1493"
                   }
               },
               {
                   "metric": "VIEWS_MAPS",
                   "totalValue": {
                       "metricOption": "AGGREGATED_TOTAL",
                       "timeDimension": {
                           "timeRange": {
                               "startTime": "2021-01-01T01:01:23.045123456Z",
                               "endTime": "2021-04-30T23:59:59.045123456Z"
                           }
                       },
                       "value": "1571"
                   }
               },
               {
                   "metric": "VIEWS_SEARCH",
                   "totalValue": {
                       "metricOption": "AGGREGATED_TOTAL",
                       "timeDimension": {
                           "timeRange": {
                               "startTime": "2021-01-01T01:01:23.045123456Z",
                               "endTime": "2021-04-30T23:59:59.045123456Z"
                           }
                       },
                       "value": "631"
                   }
               },
               {
                   "metric": "ACTIONS_DRIVING_DIRECTIONS",
                   "totalValue": {
                       "metricOption": "AGGREGATED_TOTAL",
                       "timeDimension": {
                           "timeRange": {
                               "startTime": "2021-01-01T01:01:23.045123456Z",
                               "endTime": "2021-04-30T23:59:59.045123456Z"
                           }
                       },
                       "value": "3"
                   }
               },
               {
                   "metric": "LOCAL_POST_ACTIONS_CALL_TO_ACTION",
                   "totalValue": {
                       "metricOption": "AGGREGATED_TOTAL",
                       "timeDimension": {
                           "timeRange": {
                               "startTime": "2021-01-01T01:01:23.045123456Z",
                               "endTime": "2021-04-30T23:59:59.045123456Z"
                           }
                       },
                       "value": "42"
                   }
               },
               {
                   "metric": "LOCAL_POST_VIEWS_SEARCH",
                   "totalValue": {
                       "metricOption": "AGGREGATED_TOTAL",
                       "timeDimension": {
                           "timeRange": {
                               "startTime": "2021-01-01T01:01:23.045123456Z",
                               "endTime": "2021-04-30T23:59:59.045123456Z"
                           }
                       },
                       "value": "11"
                   }
               }
           ]
       }
   ]
}

Yanıtta aşağıdaki metrikler yer alır:

  • Google Haritalar'da konumun 1.571 kez görüntülenmesi
  • Google Arama'da 631 konum görüntülemesi.
  • Konuma arabayla yol tarifi için 3 istek.
  • 42 LOCAL_POST_ACTIONS_CALL_TO_ACTION teklif tıklaması.
  • Google Arama'da Google'daki Yayınlar'ın 11 görüntülemesi.

Diğer bir metrik seçeneği ise işlem bağlantıları oluşturmak için Google ile Rezervasyon'u kullanmayı içerir. Kullanıcılar Google ile Rezervasyon'da oluşturulan işlem bağlantılarını tıkladığında bu işlemleri Google Analytics'e kaydedebilirsiniz. Bu sayede Google Analytics'teki dönüşümleri izleyebilirsiniz. Daha fazla bilgi için dönüşüm izleme belgelerine bakın.

Kullandığınız metrik stratejisinden bağımsız olarak ölçüm, TPG'lerinize kıyasla nasıl performans gösterdiğinizi görmekten daha fazlasıdır. Bu sayılar, yer bulma aracı iyileştirmelerinin işletmeniz üzerindeki etkisini anlamanıza da yardımcı olur. Ayrıca, yer bulma aracınızdaki Google Analytics metriklerini İşletme Profili metrikleriyle karşılaştırabilirsiniz. Örneğin, bu metrikleri karşılaştırarak kaç müşterinin konum bulucunuzdan ve Google Haritalar'dan yol tarifi alıp fiziksel konumlarınızı ziyaret ettiğini görebilirsiniz.


Locator Plus'ı geliştirme

İşletmenizin veya kullanıcılarınızın ihtiyaçlarına bağlı olarak kullanıcı deneyimini daha da iyileştirebilirsiniz.

Yol tariflerini mobile gönderme

Kullanıcıların bir konuma ulaşmasını daha da kolaylaştırmak için onlara yol tarifi bağlantısı gönderebilirsiniz. Kullanıcılar bu bağlantıyı tıkladığında, telefonlarında Google Haritalar uygulaması yüklüyse uygulama açılır. Yüklü değilse cihazlarının web tarayıcısında maps.google.com yüklenir. Bu deneyimlerin her ikisinde de kullanıcıya, varış noktasına ulaşmak için sesli yönlendirme de dahil olmak üzere adım adım rota izleme özelliğini kullanma seçeneği sunulur.

Haritalar URL'lerini kullanarak aşağıdaki gibi bir yol tarifi URL'si oluşturun. URL kodlamalı yer adı destination parametresi, yer kimliği ise destination_place_id parametresi olarak kullanılır. Haritalar URL'lerini oluşturmak veya kullanmak ücretsizdir. Bu nedenle, URL'ye API anahtarı eklemeniz gerekmez.

      https://www.google.com/maps/dir/?api=1&destination=Google%20London&destination_place_id=ChIJVSZzVR8FdkgRTyQkxxLQmVU

İsteğe bağlı olarak, hedefle aynı adres biçimini kullanarak bir origin sorgu parametresi sağlayabilirsiniz. Ancak bu parametre atlandığında yol tarifleri, kullanıcının Locator Plus uygulamanızı kullandığı yerden farklı olabilecek mevcut konumundan başlar. Haritalar URL'leri, navigasyon açıkken yol tariflerini başlatmak için travelmode ve dir_action=navigate gibi ek sorgu parametresi seçenekleri sunar.

Yukarıdaki örnek URL'yi genişleten bu tıklanabilir bağlantı, origin değerini Londra'daki bir futbol stadyumu olarak ayarlar ve travelmode=transit kullanarak hedefe toplu taşıma yol tarifleri sağlar.

Bu URL'yi içeren bir metin veya e-posta göndermek için twilio gibi üçüncü taraf bir uygulama kullanmanızı öneririz. App Engine kullanıyorsanız SMS mesajları veya e-posta göndermek için üçüncü taraf şirketleri kullanabilirsiniz. Daha fazla bilgi için Üçüncü Taraf Hizmetleriyle Mesaj Gönderme başlıklı makaleyi inceleyin.

Kullanıcıların konumları görselleştirmesine yardımcı olmak için Street View'u gösterme

Dünyadaki birçok konum için Street View, bir konumun dışını göstermek amacıyla kullanılabilir. Böylece kullanıcılar, konuma varmadan önce görsel olarak inceleyebilir. Kullanıcılarınızın bölgeye 360 derece "bakmasını" isteyip istemediğinize bağlı olarak Street View'u etkileşimli (web) veya statik (API) biçimde sağlayabilirsiniz. Street View, Android ve iOS için de kullanılabilir.

Coğrafi konum ile kullanıcı konumunu belirleme

Çoğu durumda, kullanıcıların cihazlarına veya tarayıcılarına yerleştirilmiş konum hizmetlerini kullanarak kullanıcı konumunu belirleyebilirsiniz. Kullanıcı veya cihazın coğrafi konumunu Google Haritası'nda göstermek için tarayıcının HTML5 Coğrafi Konum özelliğini kullanma ile ilgili bir örnek sunuyoruz. Ayrıca, Android ve iOS'te izin isteme ve konum elde etme ile ilgili dokümanlar da bulunmaktadır. Ancak, alternatif bir konum bulucu kullanmak isteyebileceğiniz durumlar olabilir. Örneğin, cihaz konum hizmetleri devre dışıysa veya cihaz konumunun sahtecilik amacıyla değiştirilmesi konusunda endişeleriniz varsa.

Geolocation API, istemcinin algılayabileceği baz istasyonları ve kablosuz düğümlerle ilgili bilgilere dayalı olarak konum ve doğruluk yarıçapı döndüren bir sunucu tarafı API'sidir. Kullanıcı konumunu belirlemek için yedek mekanizma olarak coğrafi konumdan yararlanabilir veya cihaz tarafından bildirilen konumu çapraz olarak kontrol etmek için coğrafi konumu kullanabilirsiniz.

Özel konum verilerini yer ayrıntılarıyla birleştirme

Önceki Yer Ayrıntılarını Sağlama bölümünde, kullanıcılara konumlarınızla ilgili zengin bilgiler (ör. çalışma saatleri, fotoğraflar ve yorumlar) sunmak için yer ayrıntılarını kullanma konusunu ele almıştık.

Places API (Yeni)'deki farklı veri alanlarının fiyatlandırma ve SKU katmanlarını anlamak faydalıdır. Maliyetlerinizi yönetmek için kullanabileceğiniz bir strateji, konumlarınızla ilgili mevcut bilgileri Google Haritalar'daki yeni bilgilerle (ör. geçici kapanma, tatil günlerinde çalışma saatleri, kullanıcı puanları, fotoğrafları ve yorumları) birleştirmektir. Konumlarınızın iletişim bilgileri zaten varsa bu alanları Yer Ayrıntıları'ndan istemeniz gerekmez ve alan maskenizi yalnızca göstermek istediğiniz alanları getirecek şekilde kısıtlayabilirsiniz.

Yer Ayrıntıları'nı tamamlamak veya onun yerine kullanmak için kendi yer verileriniz olabilir. Tam yığınlı konum belirleyiciye yönelik codelab, kendi konum ayrıntılarınızı depolamak ve almak için GeoJSON'u bir veritabanıyla kullanma örneği sunar.