Genel Bakış
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 de sunar. Bu kılavuzdaki örnekler tek bir platform için yazılmıştır ancak diğer platformlarda uygulama için belge bağlantıları sağlanmıştır.
Google Cloud Console'daki Quick Builder, İşletme Profili girişlerini içe aktarma ve üçüncü taraf sağlayıcılardan randevu rezervasyonu bağlantılarını otomatik olarak yerleştirme dahil olmak üzere hızlı bir şekilde konum bulucu oluşturmanıza olanak tanır. Etkileşimli kullanıcı arayüzü, birkaç dakika içinde kod oluşturmanıza ve Cloud'a dağıtmanıza olanak tanır.
Kullanıcılarınız ürün ve hizmetleri internette araştırmak ve ziyaret etmek, randevu almak veya siparişlerini teslim almak için en iyi ve en uygun yeri bulmak istiyor. Kullanıcılar konumunuza mümkün olduğunca hızlı bir şekilde ulaşmak ister. Siz de onlara fiziksel konumlarınıza yapılan ziyaretleri artıran, kullanıcı memnuniyetini güçlendiren ve destek aramalarını azaltan zengin online deneyimler sunmak istersiniz. Ayrıca, müşterilerinizin konumunuzu bulup bulamadığını belirlemek için konum bulucunuzun başarısını ölçmek ve nerede iyileştirme yapmanız gerektiğini anlamak istersiniz.
Bu belgede sunduğumuz rehberlik ve özelleştirme ipuçlarını içeren Locator Plus, mükemmel yer bulma kullanıcı deneyimleri oluşturmak için Google Haritalar Platformu API'lerinin en uygun kombinasyonu olarak önerdiğimiz çözümdür. Bu uygulamaları takip ederek kullanıcıların haritada konumlarınızı bulmasına, karar vermek için ihtiyaç duydukları ayrıntılı bilgileri görmesine ve araba, bisiklet, yaya veya toplu taşıma araçlarıyla yol tarifi almasına yardımcı olabilirsiniz.
Locator Plus kullanıcıları, analiz kontrol paneli sayesinde verilerini analiz edip bu verilerden analizler oluşturabilir. Böylece, müşterilerin mağaza bulma aracınızla ne kadar etkileşim kurduğunu net bir şekilde görebilirler. 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 diyagramda, Locator Plus'ın uygulanmasında yer alan temel API'ler gösterilmektedir. Diyagramda ayrıca, kullanıcılara mümkün olan en iyi ve en eksiksiz bilgi kümesini sunmak için Yer Ayrıntıları ile birleştirebileceğiniz kendi konum verilerinizin veritabanı da gösterilmektedir. (Büyütmek için tıklayın.)
API'ler etkinleştiriliyor
Bu uygulamaları hayata geçirmek 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, gezinmesine ve yakınlaştırıp uzaklaştırmasına olanak tanıyan bir harita oluşturun. Dilerseniz Quick Builder Locator Plus çözümünü inceleyerek İşletme Profili girişlerinizden işletme bilgilerini içe aktarma, rezervasyon bağlantıları yerleştirme ve Google Cloud Storage'a dağıtma gibi özellikleri içeren bir haritayı hızlıca 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 onlara konumlarla ilgili anlamlı Yer Ayrıntıları sunun. | |
| Konumları 45° açıyla gösterme | Uydu görünümünde 45 derecelik bir açıdan konumunuzun daha iyi bir görselini kullanıcılara sunun. | |
| Kullanıcınızın konumunu belirleme | Tüm platformlarda kullanıcı deneyimini iyileştirmek ve minimum tuş vuruşuyla adres doğruluğunu artırmak için yazarken tamamlama işlevini ekleyin. | |
| En yakın konumlara seyahat süresi ve mesafeyi gösterme | Birden fazla başlangıç ve hedef noktası için seyahat mesafesini ve seyahat süresini hesaplar. İsteğe bağlı olarak yürüme, araçla gitme veya bisikletle gitme gibi çeşitli ulaşım şekilleri belirtilebilir. | |
| 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. Dilerseniz Quick Builder Locator Plus çözümünü inceleyerek İşletme Profili girişlerinizden işletme bilgilerini içe aktarma, rezervasyon bağlantıları yerleştirme ve Google Cloud Storage'a dağıtma gibi özellikleri içeren bir haritayı hızlıca oluşturabilirsiniz. |
|
| Yerel teklifleri gösterme | Kullanıcılara, Yer Ayrıntıları yan panelinde tıklanabilir yerel fırsatlar gösterin. | |
| Navigasyon talimatları sağlama | Yürüme, araç kullanma, bisiklet sürme ve toplu taşıma gibi çeşitli ulaşım şekillerini 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 stillendirin. Kullanıcıların yönlerini daha iyi bulmaları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 analizleri elde etme | Yer bulucu stratejiniz ve uygulamanız hakkında bilgi edinmek için Google Analytics'i yapılandırıp kullanın. | |
| Yol tariflerini mobil cihaza gönderme | Yol tariflerini bulucuda göstermenin yanı sıra, hareket halindeyken Google Haritalar'ı kullanarak navigasyon için kullanıcının telefonuna yol tarifi de gönderebilirsiniz. | |
| 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 daha iyi yönlendirme yapın ve konumlarınızı daha hızlı bulmalarına yardımcı olun. | |
| Coğrafi konum ile kullanıcı konumunu belirleme | Cihaz içi konum hizmetlerini kullanmak istemiyorsanız kullanıcı konumunu belirlemek için Coğrafi Konum'u kullanın. | |
| Özel konum verilerini Yer Ayrıntıları ile birleştirme | Kullanıcılara karar vermeleri için zengin bir veri kümesi sunmak amacıyla kendi özel konum ayrıntılarınızı Yer Ayrıntıları ile birleştirin. |
Konumlarınızı etkileşimli bir haritada gösterme
Konum bulucu, kullanıcı deneyiminin önemli bir parçasıdır. Ancak bazı sitelerde harita bile bulunmayabilir. 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, uygulamalarınıza harita yerleştirip özelleştirerek bu deneyimi daha iyi hale getirebilirsiniz.
Bu işlevi iki şekilde etkinleştirebilirsiniz: Quick Builder Locator Plus çözümünü kullanarak hazır bir şekilde sunabilir veya kendi Dinamik Haritalar uygulamanızı kullanabilirsiniz. Bu bölümde, söz konusu seçenekler ayrıntılı olarak açıklanmaktadır.
Hızlı Oluşturucu Locator Plus'ı kullanma
İşletme Profilinizdeki işletme bilgilerini içe aktarmak için Quick Builder Locator Plus çözümünü kullanabilirsiniz. Artık İşletme Profilinizin işletme ayrıntılarında yapılan değişiklikler, web sitenizdeki mağaza bulma aracına yansıtılacak. Bu değişiklikler arasında çalışma saatleri, iletişim bilgileri, fotoğraflar, hizmet seçenekleri ve daha fazlası yer alabilir. Quick Builder, işletme konumlarını harita üzerinde 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ğıtım yapmanıza olanak tanır.
Kendi Dinamik Haritalar uygulamanızı kullanma
| Bu örnekte kullanılan API: Maps JavaScript API | Şu platformlarda da kullanılabilir: Android | iOS |
Sayfanıza dinamik bir harita (kullanıcıların hareket ettirebileceği, yakınlaştırıp uzaklaştırabileceği ve farklı konumlar ile önemli yerler hakkında ayrıntılı bilgi edinebileceği bir harita) eklemek için birkaç satır kod yeterlidir.
Öncelikle Maps JavaScript API'yi sayfaya eklemeniz gerekir.
Bunu yapmak için HTML sayfanızda aşağıdaki komut dosyasını bağlayın. Haritaya gelişmiş işaretçiler ekleyebilmek için libraries=marker parametresini de ekleyin.
<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 verir. URL'de, haritanızın dilini veya bölgesini de tanımlayarak haritanın hedeflediğiniz ülke için doğru şekilde biçimlendirildiğinden emin olabilirsiniz. Bölge ayarı, ABD dışında kullanılan uygulamaların davranışının da ayarladığınız bölgeye göre belirlenmesini 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 belirli bir yüksekliğe sahip bir HTML div öğesine ihtiyacınız vardır.
Bu, haritanın gösterildiği kapsayıcıdır.
<div id="map" style="height: 500px; width: 100%;"></div>
Bir sonraki adım, haritanızın temel işlevlerini 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 stilleri için gereklidir), harita türünü ve haritada kullanıcılarınıza sunulacak kontrolleri ayarlayabilirsiniz. getElementById() öğesinin, önceki örnekteki "map" div kimliğine referans verdiğine dikkat edin.
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 }); }
Bir konum belirleyici için genellikle başlangıç konumunu, merkez noktasını veya sınırları ve yakınlaştırma seviyesini (haritanın bu konuma ne kadar yakınlaştırıldığını) 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 şunlar kullanılır: Places API (Yeni) | Şu dilde de kullanılabilir: JavaScript |
Muhtemelen konumlarınızın ad, adres ve telefon numarası gibi temel bilgilerini içeren bir veritabanınız vardır. Coğrafi koordinatlar ve kullanıcıların katkıda bulunduğu bilgiler de dahil olmak üzere, söz konusu yerle ilgili Google Haritalar Platformu bilgilerini almak için veritabanınızdaki her bir konuma karşılık gelen yer kimliğini bulun. Places API'deki (yeni) Metin Arama (yeni) uç noktasına çağrı yapabilir ve Text Search Essentials IDs Only SKU'sunu tetiklemek için alan maskesinde yalnızca places.id alanını isteyebilirsiniz.
Google Londra ofisinin yer kimliğini isteme örneği:
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 yer hakkında bilgi istemek için etkili bir yöntem olarak kullanabilirsiniz. Aşağıda, coğrafi kodlama yapmak, Yer Ayrıntıları'nı almak ve yere yol tarifi istemek için yer kimliğini kullanma talimatları verilmiştir.
Konumlarınız coğrafi olarak kodlanıyor
| Bu örnekte kullanılan API: Geocoding API | Şu dilde de kullanılabilir: JavaScript |
Konum veritabanınızda açık adresler varsa ancak coğrafi koordinatlar yoksa haritaya işaretçi yerleştirmek amacıyla ilgili adresin enlem ve boylamını almak için Geocoding API'yi kullanın. Adreslerinizi sunucu tarafında coğrafi olarak kodlayabilir, 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 enlem ve boylamını almak üzere Geocoding API'nin kullanıldığı bir örnek aşağıda verilmiştir:
https://maps.googleapis.com/maps/api/geocode/json?place_id=ChIJVSZzVR8FdkgRTyQkxxLQmVU&key=YOUR_API_KEY&solution_channel=GMP_guides_locatorplus_v2_aHaritaya konum ekleme
Sonraki adım, konumlarınızı haritaya eklemektir. Bu işlem genellikle haritaya gelişmiş işaretçiler eklenerek yapılır ancak veri katmanları gibi kullanabileceğiniz başka seçenekler de vardır.
Konumunuzun enlem ve boylamını öğrendikten sonra, haritaya özel metin glifi içeren gelişmiş işaretçi 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, Android veya iOS için işaretçi grupları yardımcı programını kullanabilirsiniz. JavaScript mağaza bulma aracı GitHub örneğinde işaretçi gruplama ile ilgili bir örnek bulabilirsiniz.
Yer Ayrıntıları sağlama
| Bu örnekte kullanılan API: Maps JavaScript API | Şu dillerde de kullanılabilir: Places API (Yeni) | Android | iOS |
Kullanıcıların konumlarınızdan birini ziyaret etmeden önce ihtiyaç duydukları Yer Ayrıntıları'nı paylaşabilirsiniz. İletişim bilgileri, çalışma saatleri, puanlar, fotoğraflar ve geçici kapanış durumu gibi zengin Yer Ayrıntıları sayesinde kullanıcılar, konumunuzu ziyaret ettiklerinde tam olarak ne bekleyeceklerini bilir. Places API'ye (Yeni) çağrı yaptıktan sonra yanıtı filtreleyebilir ve 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 bir konumunuzun yer kimliği gerekir. Konumunuzun yer kimliğini almak için Yer kimliklerini alma bölümüne bakın.
Yer Ayrıntıları isteğiyle ilgili videoları görmek için genişletin:
Çalışma saatlerini öğrenme
Kapalı yolları kontrol edin
Maliyetleri kontrol altına alın
Aşağıdaki örnekte, Yer Ayrıntıları'nı almak ve bunları bir InfoWindow'a eklemek için Places Library, Maps JavaScript API'deki Place sınıfı kullanılmıştır. Bu uygulamada, kullanıcı ilgisinden bağımsız olarak tüm konumların ayrıntılarını önceden getirmek yerine, yalnızca kullanıcı işaretçiyi tıklayarak ayrıntı istediğinde Yer Ayrıntıları isteğini tetikleyen maliyet tasarrufu stratejisi kullanılır.
const marker = new google.maps.marker.AdvancedMarkerElement({ map, position: { lat: 51.493073, lng: -0.14655 }, }); const place = new google.maps.places.Place({ id: "ChIJVSZzVR8FdkgRTyQkxxLQmVU", }); const infowindow = new google.maps.InfoWindow(); marker.addEventListener("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° görünümde gösterme
| Bu örnekte kullanılan API: Maps JavaScript API | Şu platformlarda da kullanılabilir: Android | iOS |
Kullanıcılara konumunuzun kuş bakışı görünümünü sunmak, konumunuzun nasıl göründüğü hakkında daha net bir fikir edinmelerine ve konumunuzu bulmalarına yardımcı olur. Kullanıcı daha fazla ayrıntı görmek için tek bir konum seçtiğinde, mevcut uydu görüntülerini 45° açıyla göstermek için o 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° görüntülerin kullanılabilirliğiyle 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ırlanıyor
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 harita etkileşimlerinde veya liste görünümünde ayrıntı görünümünden ne zaman ayrıldığını algılayacak bir dinleyici ekleyin. Örneğin, map nesnesinde zoom_changed etkinliğini dinlemek, kullanıcının ayrıntılı görünümden manuel olarak uzaklaştırdığını veya yakınlaştırma seviyesini güncelleyen başka bir işlevi çağırdığını gösterir. Bu örnekte, uzaklaştırma işlemi haritayı orijinal harita türüne ve eğime 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ılan API: Maps JavaScript API | Şu platformlarda da kullanılabilir: Android | iOS |
Herhangi bir konum bulucudaki bir sonraki temel bileşen, kullanıcınızın başlangıç konumunu belirlemektir. Varsayılan olarak, kaynağı kullanıcının mevcut konumu olarak ayarlamak üzere kullanıcı izinleri istemek için 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 Places kitaplıkları kullanılarak herhangi bir uygulamaya entegre edilebilir. Kullanıcı bir adres yazdığında otomatik tamamlama, widget'ları kullanarak geri kalanını doldurur. Doğrudan Yer Adı Otomatik Tamamlama Veri API'si'ni 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 ekleme libraries=places,marker şeklindedir.
<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, sayfanıza PlaceAutocompleteElement widget'ının ekleneceği bir kapsayıcı öğesi ekleyin.
<div id="autocomplete-container"></div>
Son olarak, PlaceAutocompleteElement widget'ını ilk kullanıma hazırlayın ve kapsayıcıya ekleyin. Yer Adı Otomatik Tamamlama tahminlerini includedPrimaryTypes: ["geocode"] ile kısıtlamak, widget'ı açık adresleri, mahalleleri, şehirleri ve posta kodlarını kabul edecek şekilde yapılandırır. Böylece kullanıcılar, başlangıç noktalarını tanımlamak için her düzeyde ayrıntı girebilir. Kullanıcı bir tahmin 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() yöntemini ç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, kullanıcı ile belirli konumlar arasındaki ilişkiyi aşağıdaki resimde gösterildiği gibi görebilirsiniz.
Uygulamanıza Yer Adı Otomatik Tamamlama özelliğini eklemeyle ilgili adım adım açıklamalı video kılavuzları 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 şunlar kullanılır: Routes API | Ayrıca şu ürünlerde de kullanılabilir: Routes Kitaplığı, Maps JavaScript API |
Kullanıcının konumunu öğrendikten sonra bunu kendi konumlarınızla karşılaştırabilirsiniz. Bu işlemi Routes API'deki Compute Route Matrix özelliğini (veya Routes Library, Maps JavaScript API'deki RouteMatrix sınıfını) kullanarak yapmak, kullanıcılarınızın sürüş süresi veya yol mesafesi açısından kendileri için en uygun konumu seçmelerine yardımcı olur.
Kullanıcıya yakın konumları göstermek, konumlarınızın zaten doldurulmuş olduğu anlamına gelir. Kendi konum veritabanınızı kullanırken önemli olan, verilerin haritada kullanılabilecek bir biçimde (ör. Veri Katmanı konusunda açıklanan GeoJSON) olmasını sağlamaktır.
Konum listesini düzenlemenin standart yolu, konumları mesafeye göre sıralamaktır. Bu mesafe genellikle kullanıcıdan konuma doğru çizilen düz bir çizgi kullanılarak hesaplanır ancak bu yanıltıcı olabilir. Düz çizgi, geçilemeyen bir nehrin üzerinden veya yoğun yollardan geçebilir. Bu durumda başka bir konum daha uygun olabilir. Bu, birbirine birkaç kilometre mesafede birden fazla konumunuz olduğunda önemlidir.
computeRouteMatrix yöntemi, başlangıç ve varış konumlarının listesini alarak çalışır ve yalnızca seyahat mesafesini değil, aralarındaki seyahat süresini de döndürür. Kullanıcı için başlangıç noktası, mevcut konumu veya tercih ettiği başlangıç noktası, varış noktaları ise konumların varış noktaları 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 parametresini TRAFFIC_AWARE gibi rota tercihleriyle kullanabilirsiniz.
Aşağıdaki örnekte, kullanıcının başlangıç ve hedef yer kimlikleri belirtilerek Routes API'deki computeRouteMatrix uç noktası çağrılmaktadır. Bu örnekte, harita merkezinden Londra'daki üç Google ofisine olan mesafe ve seyahat süresi hesaplanı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ıt, aşağıdaki örnekte gösterilene benzer şekilde her bir başlangıç ve hedef çifti için mesafeyi (metre cinsinden) ve süreyi içerir:
Ö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, başlangıç noktası (kırmızı işaretçi C) ve varış noktaları bir harita üzerinde gösterilmektedir:
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/Süre |
|---|---|---|
| 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 mesafe olarak en yakın konum olsa da A konumuna otoyoldan ulaşılabildiği için B konumuna giden rota ve süre daha uzundur.
Bu isteği gönderdikten sonra, yanıtları sürüş süresine göre sıralamak için eşleşmeyi işleyebilirsiniz. Bu tür bir işlevin örneklerini bulucu codelab'inde bulabilirsiniz.
Navigasyonla yol tarifi alma
| Bu örnekte şunlar kullanılır: Routes Library, Maps JavaScript API | Ayrıca şunlar da kullanılabilir: Routes API Android ve iOS'te doğrudan uygulamadan veya bir sunucu proxy'si aracılığıyla uzaktan kullanılabilen web hizmeti |
Kullanıcılara yol tariflerini sitenizden veya uygulamalarınızdan göstermek, sitenizden ayrılmaları gerekmediği anlamına gelir. Bu sayede kullanıcıların dikkatleri diğer sayfalarla dağılmaz veya haritada rakipleri görmezler. 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şleyip haritada göstermenize olanak tanıyan createPolylines() ve createWaypointAdvancedMarkers() gibi yöntemler de içerir.
Aşağıda, haritada rota isteme ve gösterme ö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 Maps JavaScript API belgelerini okuyun veya yer bulma aracı oluşturmak için adım adım açıklamalı codelab'e göz atın.
Kullanıcıların randevu almasına yardımcı olma
Kullanıcılar, konumunuzun Yer Ayrıntıları'nı yan panelde görüntülerken aşağıdaki resimde gösterildiği gibi bir düğmeyi tıklayarak 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, söz konusu seçenekler ayrıntılı olarak açıklanmaktadır.
Hızlı Oluşturucu Locator Plus'ı kullanma
İşletme Profilinizdeki işletme ayrıntılarını 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 yerleştirilmiş randevu rezervasyonu bağlantılarını (varsa) etkinleştirebilirsiniz. Google Hesabı ile ilişkilendirilmiş bir İşletme Profiliniz olmasa bile, Google ile Rezervasyon* aracılığıyla üçüncü taraf randevu hizmeti sağlayıcılarla etkinleştirdiğiniz işletmelerin rezervasyon bağlantılarını yerleştirmek için Hızlı Oluşturucu'yu kullanabilirsiniz.
*Google ile Rezervasyon, yalnızca işletmelerin desteklenen bir randevu hizmeti sağlayıcı ile çalıştığı belirli ülkelerde/bölgelerde kullanılabilir. Google ile Rezervasyon'u kullanmak istiyor ancak bir Google ile Rezervasyon iş ortağıyla çalışmıyorsanız sağlayıcınızdan bu talep formunu doldurarak talebini göndermesini ve nasıl başlayabileceğini öğrenmek için belgelerimizi incelemesini isteyin. Henüz 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 almayı etkinleştirmek için İşletme Profili'ni kullanma
İnternetteki varlığınızı İşletme Profili ile yönettiğinizde, oluşturduğunuz işletme konumları, işletme verileriyle entegre harita işlevini 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 bunu etkinleştirmek için aşağıda açıklandığı gibi bazı manuel adımlar gerekir.
Kullanıcılar yan panelde konumlarınızdan birinin Yer Ayrıntıları'nı görüntülediğinde randevu almaları için bir bağlantı sağlayabilirsiniz. Bu bölümde bunun nasıl yapılacağı açıklanmaktadır.
-
APPOINTMENT,ONLINE_APPOINTMENTveyaDINING_RESERVATIONtüründeki konum için Business Profile API'leriplaceActionLinkoluşturun.placeActionLink, yan paneldeki randevu bağlantısı için kullandığınız nesne olur. (İstediğiniz randevu işlem bağlantısını zaten oluşturduysanız sonraki adıma geçin.) Başarılı birplaceActionLinks.createPOST 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" } -
Google Haritalar Platformu yer kimliğiyle ilişkili İşletme Profili konumunu bulma
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ür. Yer kimliği, bir İşletme Profili yer koduyla ilişkilendirilir. Bu nedenle, oluşturduğunuz randevu rezervasyonu bağlantısını alıp 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:
- Projenizin hesaplarını listeleme
- Business Profile Business Information API'yi kullanarak bir hesaptaki tüm konumları listeleme
- Döndürülen her konumun
metadata.placeIdiçermesi içinreadMask'nizemetadataekleyin. Bu kimliği, görüntülenen Google Haritalar Platformu yer kimliğiyle karşılaştırabilirsiniz.
-
Yer koduyla istediğiniz işlem bağlantısını alabilirsiniz. Mevcut bir randevuyu
placeActionLinkalmak için konumun mevcutplaceActionLinkslistesini oluşturun ve kullanmak istediğiniz randevu bağlantısını (APPOINTMENT,ONLINE_APPOINTMENTveyaDINING_RESERVATION) bulmak içinplaceActionTypefiltresini uygulayın.Aşağıdaki örnekte, LIST çağrısından gelen yanıtta bir APPOINTMENT
placeActionLinkgö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" } ] } - Yan panelde bir
<div>oluşturun veplaceActionLinknesnesindeki alakalı verilerle, özellikle de randevu rezervasyon bağlantısının URI'siyle doldurun.
Randevu bağlantısı eklemenin diğer alternatifleri
Bir İşletme Profili yönetmiyorsanız veya Quick Builder Locator Plus çözümünü kullanmak istemiyorsanız randevu alma platformunuzda, web sitesine ya da uygulamaya randevu widget'ı yerleştirmeyle 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 teklifler gösteriliyor
Bir konumun Yer Ayrıntıları yan panelinde, kullanıcıların tıklayabileceği yerel teklifleri gösterebilirsiniz. Google My Business API, konumlarınızla ilişkili "yayınlar" (ör. yerel teklifler) oluşturmanıza ve almanıza olanak tanır. Aşağıdaki resimde, Yer Ayrıntıları yan panelindeki yerel fırsat örneği gösterilmektedir.
Quick Builder bölümündeki mimari diyagramda, yer bulma aracınıza teklif eklemek için kullanabileceğiniz teknolojiler gösterilmektedir.
Yerel teklifler konumlarla ilişkilendirildiğinden, kullanıcıların görüntülediği konumun Google Haritalar Platformu yer kimliğiyle ilişkili İşletme Profili yer kodunu bulmanız gerekir.
İşletme Profili yer koduna sahip olduğunuzda, ilgili teklifi localPost olarak alıp Yer Ayrıntıları yan panelinizde gösterebilirsiniz. İlgili adımlar aşağıdadır:
- Google My Business API ile, göstermek istediğiniz
OFFERtüründe teklif duyuruları oluşturun. -
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, bir Google Haritalar Platformu yer kimliğinin ayrıntılarını görüntüler. Yer kimliği, bir İşletme Profili yer koduyla ilişkilendirilir. Bu nedenle, konumunuzun yerel teklif bağlantısını alıp 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:
- Projenizin hesaplarını listeleme
- Business Profile Business Information API'yi kullanarak bir hesaptaki tüm konumları listeleyin.
readMasköğenizemetadataekleyin. Böylece her konumdametadata.placeIdyer alır. Bu değeri, görüntülenen konumun yer kimliğiyle karşılaştırabilirsiniz.
Aşağıdaki örnekte, Business Profile Business Information API v1'den bir konumun ayrıntıları istenmektedir:
GET https://mybusinessbusinessinformation.googleapis.com/v1/locations/15899957830169237700?readMask=name,title,phoneNumbers,categories,regularHours,storefrontAddress,latlng,openInfo,metadata,profile
Yanıtta, Google Haritalar Platformu isteklerinde kullandığınız yer kimliğine karşılık gelen bir
metadata.placeIdalanı bulunur.Örnek yanıtı görmek için genişletin.
{ "name": "locations/15899957830169237700", "title": "Sushi Sushi", "phoneNumbers": { "primaryPhone": "+49 2222 22222" }, "categories": { "primaryCategory": { "name": "categories/gcid:restaurant", "displayName": "Restaurant" } }, "regularHours": { "periods": [ { "openDay": "MONDAY", "openTime": { "hours": 9, "minutes": 0 }, "closeDay": "MONDAY", "closeTime": { "hours": 9, "minutes": 10 } }, { "openDay": "TUESDAY", "openTime": { "hours": 11, "minutes": 30 }, "closeDay": "TUESDAY", "closeTime": { "hours": 24, "minutes": 0 } } ] }, "metadata": { "placeId": "ChIJs4wtL04X2jERbc8qHd_wZzk", "mapsUri": "https://maps.google.com/maps?cid=15899957830169237700" }, "latlng": { "latitude": 1.3670033, "longitude": 103.8556385 }, "openInfo": { "status": "OPEN", "canReopen": true }, "storefrontAddress": { "regionCode": "SG", "languageCode": "en-US", "postalCode": "560445", "addressLines": [ "445 Ang Mo Kio Ave 10" ] }, "profile": { "description": "Example restaurant" } } -
Hesap ve yer kodu kimliklerini aldıktan sonra istediğiniz teklifi alın. Konum yönetimi için Business Profile Business Information API v1 kullanılırken yerel yayınlar, onaylanmış Business Profile API projeleri için eski
mybusiness.googleapis.com/v4accounts.locations.localPostsuç noktasında kalır. Konum için mevcutlocalPostslistesini gösterin veOFFERdeğerine sahiptopicTypeiçin filtreleyin.Bir konumun etkin yerel yayınlarını listelemek için örnek bir istek aşağıda verilmiştir:
GET https://mybusiness.googleapis.com/v4/accounts/111098884960588804666/locations/15899957830169237700/localPosts
Aşağıdaki örnekte, yanıtta bir
OFFERlocalPostgö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." } }, ], } - Yan panelde bir
<div>oluşturun velocalPostnesnesinden alakalı 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 raptiyelerinin yerine kendi özel işaretçilerinizi oluşturun.
- Harita özelliklerinin renklerini markanızı yansıtacak şekilde değiştirin.
- Hangi önemli yerleri (turistik yerler, restoranlar, konaklama yerleri vb.) ve hangi yoğunlukta göstereceğinizi kontrol ederek kullanıcıların dikkatini konumlarınıza çekebilir ve en yakın konuma ulaşmalarına yardımcı olan önemli yerleri vurgulayabilirsiniz.
Özel harita işaretçileri oluşturma
Varsayılan raptiye arka planını, kenarlığını veya glif rengini değiştirerek (örneğin, bir konumun açık olup olmadığını belirtmek için), raptiyeyi markanızın logosu gibi özel bir grafik resimle değiştirerek veya özel HTML ve CSS raptiyeleri oluşturarak gelişmiş raptiyelerinizi ö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 konusunda bulabilirsiniz.)
Ayrıntılı bilgi için JavaScript (web), Android ve iOS için gelişmiş işaretçi belgelerine bakın.
Haritanız stilize ediliyor
Google Haritalar Platformu, haritanızı kullanıcıların en yakın konumu bulmasına, oraya en kısa sürede ulaşmasına ve markanızı güçlendirmenize yardımcı olacak şekilde tasarlamanıza olanak tanır. Örneğin, harita renklerini markanıza uyacak şekilde değiştirebilir ve kullanıcılara gösterilen önemli yerleri kontrol ederek haritadaki dikkat dağıtıcı unsurları azaltabilirsiniz. Google Haritalar Platformu, seyahat, lojistik, emlak ve perakende gibi farklı sektörler için optimize edilmiş olanlar da dahil olmak üzere çeşitli harita başlangıç şablonları da sunar.
Projenizin Google Cloud Console Harita Stilleri sayfasında harita stilleri oluşturabilir veya mevcut stilleri değiştirebilirsiniz.
Cloud Console'da harita stili oluşturma ve stil oluşturma animasyonlarını görmek için genişletin:
Sektöre özel harita stilleri
Bu animasyonda, kullanabileceğiniz önceden tanımlanmış sektöre özel harita stilleri gösterilmektedir. Bu stiller, her sektör türü için en uygun başlangıç noktasını sağlar. Örneğin, Perakende harita stili, haritadaki önemli yerleri azaltarak kullanıcıların konumlarınıza ve en yakın konuma mümkün olduğunca hızlı ve güvenli bir şekilde ulaşmalarına yardımcı olacak önemli noktalara odaklanmalarını sağlar.
Önemli yerler kontrolü
Bu animasyon, önemli yerler için 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.
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 bir 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 kullanılarak 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, kodunuzda bu stilleri ç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 özellikli bir harita gösterir. (Haritanın sayfada görüneceği HTML <div id="map"></div> öğesi gösterilmez.)
map = new google.maps.Map(document.getElementById('map'), { center: {lat: 51.485925, lng: -0.129500}, zoom: 12, mapId: '1234abcd5678efgh' });
JavaScript (web), Android ve iOS'te bulut tabanlı harita stillerini kullanma 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ğuna dair değerli bilgiler edinebilirsiniz. Bu bölümde, ihtiyacınız olan verileri izlemek için Google Analytics ve İşletme Profili analizlerini yapılandırma ve izleme konusunda rehberlik sunulmaktadır. Quick Builder Locator Plus kullanıcıları, analiz kontrol paneli sayesinde anonimleştirilmiş verilere dayalı analizler yapabilir ve üretilen analizler oluşturabilir.
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 sizi önemli belgelere yönlendirecek ve konum bulma uygulamanızla ilgili önemli analiz konularını vurgulayacağız.
Google Analytics'i Kurma
Uygulamanızda 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>
İster Google Etiket Yöneticisi'ni kullanın ister Google Analytics'i doğrudan sitenize ekleyin, önemli olan Google Analytics uygulamanızı kullanarak aşağıdakileri nasıl yapacağınızı anlamaktır:
- Web sitesi sayfa görüntülemelerinden bağımsız olarak ölçülebilen kullanıcı etkileşimlerini (ör. tıklamalar) tetikleme (etkinlikler).
- Ham verileri (metrikler) anlamlı gruplar (boyutlar veya özel boyutlar) halinde görüntüleyin.
Özel etkinlikleri kullanma
Aşağıda, konum belirleyicinizde özel bir etkinlik tanımlama örneği verilmiştir:
gtag('event', 'location', { 'method': 'address' });
Raporlarda etkinlikleri anlayabilmeniz için event ve method adlarını yeterince net bir şekilde belirlemeniz önemlidir. Bu etkinlikleri, ölçmek istediğiniz belirli etkileşimler için tetikleyin. Örneğin, bir kullanıcının aşağıdaki resimde gösterilen otomatik tamamlama açılır listesinden bir adres seçmesi gibi.
Tanımladığınız etkinliği ve yöntemi kullanan aşağıdaki izleme çağrısını Google Analytics'e gönderebilirsiniz. (Okuma kolaylığı için her sorgu parametresini ayrı bir satırda göstereceğiz.)
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'te "Gerçek Zamanlı Analiz" görünümünü inceleyerek özel etkinlik etiketlerinizin doğru şekilde yakalandığını doğrulayabilirsiniz. Örneğin, Yer Adı Otomatik Tamamlama için daha önce oluşturulan "location" etkinliği, Google Analytics'te aşağıdaki şekillerde gösterildiği gibi görünür.
Alternatif olarak, aşağıdaki resimde gösterildiği gibi DebugView'u kullanarak gerçek zamanlı 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, bulucu uygulamanızdan fiziksel konumlarınıza daha fazla yaya trafiği çekmek için stratejiler geliştirip ölçebilirsiniz. Örneğin, Google Analytics'te fiziksel mağaza ziyaretleri analizlerini (Google Ads tarafından ölçülür) bulucu analizlerinize bağlayan Analytics'te Mağaza Ziyaretleri teklifi bulunur. Fiziksel konumlarınızda kullanılabilen online teklifler gibi kendi uygulamadan konuma stratejilerinizi de geliştirebilirsiniz.
İşletme Profili metrikleri
Google Analytics ile etkinlikleri, metrikleri ve boyutları izlemenin yanı sıra Business Profile Performance API'den konum etkileşimi metriklerini sorgulayabilirsiniz.
Kullanılabilir DailyMetric değerleri; Arama ve Haritalar gösterimlerini, yol tarifi isteklerini, web sitesi ve telefon araması tıklamalarını ve Google ile Rezervasyon üzerinden yapılan rezervasyonları izlemenize olanak tanır.
Aşağıdaki örnek istek, bir konumun günlük gösterimlerini, yol tarifi isteklerini, web sitesi tıklamalarını ve rezervasyonlarını almak için locations.fetchMultiDailyMetricsTimeSeries yöntemini çağırır:
Örnek isteği görmek için genişletin.
GET https://businessprofileperformance.googleapis.com/v1/locations/15899957830169237700:fetchMultiDailyMetricsTimeSeries?dailyMetrics=BUSINESS_IMPRESSIONS_DESKTOP_MAPS&dailyMetrics=BUSINESS_IMPRESSIONS_MOBILE_MAPS&dailyMetrics=BUSINESS_IMPRESSIONS_DESKTOP_SEARCH&dailyMetrics=BUSINESS_IMPRESSIONS_MOBILE_SEARCH&dailyMetrics=BUSINESS_DIRECTION_REQUESTS&dailyMetrics=WEBSITE_CLICKS&dailyMetrics=BUSINESS_BOOKINGS&dailyRange.start_date.year=2025&dailyRange.start_date.month=1&dailyRange.start_date.day=1&dailyRange.end_date.year=2025&dailyRange.end_date.month=1&dailyRange.end_date.day=31
Örnek yanıtı görmek için genişletin.
{
"multiDailyMetricTimeSeries": [
{
"dailyMetricTimeSeries": [
{
"dailyMetric": "BUSINESS_IMPRESSIONS_DESKTOP_MAPS",
"timeSeries": {
"datedValues": [
{
"date": { "year": 2025, "month": 1, "day": 1 },
"value": "48"
}
]
}
},
{
"dailyMetric": "BUSINESS_IMPRESSIONS_MOBILE_MAPS",
"timeSeries": {
"datedValues": [
{
"date": { "year": 2025, "month": 1, "day": 1 },
"value": "112"
}
]
}
},
{
"dailyMetric": "BUSINESS_DIRECTION_REQUESTS",
"timeSeries": {
"datedValues": [
{
"date": { "year": 2025, "month": 1, "day": 1 },
"value": "14"
}
]
}
},
{
"dailyMetric": "WEBSITE_CLICKS",
"timeSeries": {
"datedValues": [
{
"date": { "year": 2025, "month": 1, "day": 1 },
"value": "29"
}
]
}
},
{
"dailyMetric": "BUSINESS_BOOKINGS",
"timeSeries": {
"datedValues": [
{
"date": { "year": 2025, "month": 1, "day": 1 },
"value": "6"
}
]
}
}
]
}
]
}
Her dailyMetricTimeSeries girişi, istenen tarih aralığındaki günlük sayıları döndürür. Bu sayılara şunlar dahildir:
- Google Haritalar ve Google Arama'daki masaüstü ve mobil gösterimler.
- İşletme konumuna (
BUSINESS_DIRECTION_REQUESTS) yol tarifi istekleri. - İşletme web sitesine yapılan tıklamalar (
WEBSITE_CLICKS) ve Google ile Rezervasyon üzerinden yapılan rezervasyonlar (BUSINESS_BOOKINGS).
Diğer bir metrik seçeneği de işlem bağlantıları oluşturmak için Google ile Rezervasyon'u kullanmaktır. 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'te dönüşümleri izleyebilirsiniz. Daha fazla bilgi için dönüşüm izleme belgelerine bakın.
Kullandığınız metrik stratejisi ne olursa olsun, ölçüm yapmak TPG'lerinize göre ne durumda olduğunuzu görmekten daha fazlasıdır. Bu sayılar, yer bulucu iyileştirmelerinin işletmenizi nasıl etkilediğini anlamanıza da yardımcı olur. Ayrıca, bayi bulucunuzdaki Google Analytics metriklerini İşletme Profili metrikleriyle karşılaştırabilirsiniz. Örneğin, bu metrikleri karşılaştırarak kaç müşterinin fiziksel konumlarınızı ziyaret etmek için konum bulucunuzdan ve Google Haritalar'dan yol tarifi aldığını 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 tarifleri mobil cihaza gönderiliyor
Kullanıcıların bir konuma ulaşmasını daha da kolaylaştırmak için onlara kısa mesaj veya e-posta yoluyla yol tarifi bağlantısı gönderebilirsiniz. Kullanıcılar bu bağlantıyı tıkladığında, telefonlarında yüklüyse Google Haritalar uygulaması başlatılır veya cihazlarının web tarayıcısında maps.google.com yüklenir. Bu deneyimlerin her ikisi de kullanıcıya, varış noktasına ulaşmak için sesli yardım da dahil olmak üzere adım adım rota özelliğini kullanma seçeneği sunar.
destination parametresi olarak URL kodlu yer adını ve destination_place_id parametresi olarak yer kimliğini içeren aşağıdaki gibi bir yol tarifi URL'si oluşturmak için Haritalar URL'lerini kullanın. 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 kullanan bir origin sorgu parametresi sağlayabilirsiniz. Ancak bu parametreyi atlarsanız yol tarifleri kullanıcının mevcut konumundan başlar. Bu konum, kullanıcının Locator Plus uygulamanızı kullandığı yerden farklı olabilir.
Maps URL'leri,
yol tariflerini navigasyon açıkken 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
parametresini Londra'daki bir futbol stadyumu olarak ayarlar ve hedefe toplu taşıma yol tarifi sağlamak için travelmode=transit parametresini kullanır.
Bu URL'yi içeren bir kısa mesaj veya e-posta göndermek için twilio gibi bir üçüncü taraf uygulaması kullanmanızı öneririz. App Engine kullanıyorsanız SMS mesajı veya e-posta göndermek için üçüncü taraf şirketlerden yararlanabilirsiniz. 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
Street View, dünyanın birçok yerinde bir konumun dışını göstermek için kullanılabilir ve kullanıcılara varmadan önce konumun görselini sunar. Kullanıcılarınızın bölgeye 360 derece "göz atmasını" isteyip istemediğinize bağlı olarak Street View'u etkileşimli (web) veya statik (API) biçiminde sunabilirsiniz. Street View, Android ve iOS'te de kullanılabilir.
Coğrafi konum ile kullanıcı konumunu belirleme
Çoğu durumda, kullanıcıların cihazlarında veya tarayıcılarında yerleşik olarak bulunan konum hizmetlerini kullanarak kullanıcı konumunu tam olarak belirleyebilirsiniz. Bir kullanıcının 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 alma ile ilgili belgeler de mevcuttur. Ancak alternatif bir konum bulucu kullanmak isteyebileceğiniz durumlar olabilir. Örneğin, cihaz konum hizmetleri devre dışı bırakılmışsa veya cihaz konumunun yanıltılmasıyla ilgili endişeleriniz varsa.
Geolocation API, istemcinin algılayabileceği baz istasyonları ve kablosuz ağ düğümleri hakkındaki bilgilere dayalı olarak bir konum ve doğruluk yarıçapı döndüren sunucu tarafı bir API'dir. Coğrafi konumu, kullanıcı konumunu belirlemek için yedek bir mekanizma olarak kullanabilir veya cihaz tarafından bildirilen konumu çapraz kontrol etmek için kullanabilirsiniz.
Özel konum verilerini Yer Ayrıntıları ile birleştirme
Önceki Yer Ayrıntıları'nı sağlama bölümünde, kullanıcılara konumlarınız hakkında çalışma saatleri, fotoğraflar ve yorumlar gibi zengin bilgiler sunmak için Yer Ayrıntıları'nı kullanmayı ele aldık.
Places API'deki (Yeni) farklı veri alanlarının fiyatlandırmasını ve SKU katmanlarını anlamak faydalı olacaktır. Maliyetlerinizi yönetmek için kullanabileceğiniz stratejilerden biri, konumlarınız hakkında zaten sahip olduğunuz bilgileri Google Haritalar'dan gelen yeni bilgilerle (ör. geçici kapanış, tatil günleri çalışma saatleri, kullanıcı puanları, fotoğraflar ve yorumlar) birleştirmektir. Konumlarınızın iletişim bilgilerine zaten sahipseniz bu alanları Yer Ayrıntıları'ndan istemeniz gerekmez ve alan maskenizi yalnızca görüntülemek istediğiniz alanları getirecek şekilde kısıtlayabilirsiniz.
Yer Ayrıntıları'nı tamamlamak veya bunun yerine kullanmak için kendi yer verileriniz olabilir. Tam yığın konum bulucu için kod laboratuvarı, kendi konum ayrıntılarınızı depolamak ve almak için GeoJSON'u bir veritabanıyla kullanma örneği sağlar.