Genel bakış
Yerler Kitaplığı, Maps JavaScript API'deki işlevler, uygulamanızın belirli bir alanda (örneğin, bir haritanın sınırları veya sabit bir noktanın çevresinde) yer (bu kuruluşlarda tesisler, coğrafi konumlar veya belirgin önemli noktalar olarak tanımlanır) için arama yapabilmesini sağlar.
Yerler API'si, uygulamalarınıza Google Haritalar'ın arama alanına göre arama davranışını göstermek için kullanabileceğiniz bir otomatik tamamlama özelliği sunar. Kullanıcı bir adresi yazmaya başladığında, otomatik tamamlama özelliği diğerlerini doldurur. Daha fazla bilgi için otomatik tamamlama dokümanlarına bakın.
Başlarken
Maps JavaScript API veya JavaScript hakkında bilginiz yoksa başlamadan önce JavaScript'i ve API Anahtarı alma konusunu incelemenizi öneririz.
API'leri etkinleştir
Maps JavaScript API'deki Yerler kitaplığını kullanmadan önce, ilk olarak Yerler API'sinin Google Cloud Console'da etkinleştirildiğinden emin olun. Bu işlem, Maps JavaScript API için yaptığınız projede yapılmalıdır.
Etkin API'lerinizin listesini görüntülemek için:
- Google Cloud Console'a gidin.
- Proje seçin düğmesini tıklayın, ardından Maps JavaScript API için oluşturduğunuz projeyi seçin ve Aç'ı tıklayın.
- Kontrol Paneli'ndeki API listesinde Places API'yi bulun.
- Listede Yerler API'sini görüyorsanız bu özellik zaten etkinleştirilmiştir. API listelenmiyorsa etkinleştirin:
- Kitaplık sekmesini görüntülemek için sayfanın üst kısmından API'LERİ VE HİZMETLERİ ETKİNLEŞTİR'i seçin. Alternatif olarak sol taraftaki menüden Kitaplık'ı da seçebilirsiniz.
- Places API ifadesini arayın, ardından sonuçlar listesinden seçin.
- ETKİNLEŞTİR'i seçin. İşlem tamamlandığında, Kontrol Paneli'ndeki API listesinde Places API görünür.
Kitaplık yükleniyor
Yerler hizmeti, ana Maps JavaScript API kodundan ayrı olan bağımsız bir kitaplıktır. Bu kitaplıkta bulunan işlevi kullanmak için öncelikle Haritalar API'si önyükleme URL'sindeki libraries
parametresini kullanarak işlevi yüklemeniz gerekir:
<script async
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=places&callback=initMap">
</script>
Daha fazla bilgi için Kitaplıklara Genel Bakış bölümünü inceleyin.
Yerler API'sini API anahtarının API kısıtlamaları listesine ekleme
Anahtarlarınıza API kısıtlamaları uygulamak API anahtarının kullanımını bir veya daha fazla API ya da SDK ile sınırlar. API anahtarıyla ilişkili API veya SDK'lara gönderilen istekler işlenir. API anahtarı ile ilişkili olmayan bir API veya SDK'ya gönderilen istekler başarısız olur. Bir API anahtarını Yerler Kitaplığı, Maps JavaScript API ile kullanılacak şekilde kısıtlamak için:- Google Cloud Console'a gidin.
- Proje açılır menüsünü tıklayın ve güvenli hale getirmek istediğiniz API anahtarını içeren projeyi seçin.
- Menü düğmesini
tıklayın ve Google Haritalar Platformu > Kimlik bilgileri'ni seçin.
- Kimlik bilgileri sayfasında, güvenliğini sağlamak istediğiniz API anahtarının adını tıklayın.
- API anahtarını kısıtlama ve yeniden adlandırma sayfasında kısıtlamaları ayarlayın:
- API kısıtlamaları
- Anahtarı kısıtla'yı seçin.
- API'leri seç'i tıklayın ve Haritalar JavaScript API'si ile Places API'yi seçin.
(API'lerden biri listede yoksa etkinleştirmeniz gerekir.)
- KAYDET'i tıklayın.
Kullanım sınırları ve politikalar
Kotalar
Yerler Kitaplığı, JavaScript API'si, Yerler API'sinin Kullanım Sınırları dokümanlarında açıklandığı gibi Yerler API'siyle bir kullanım kotası paylaşır.
Politikalar
Yerler Kitaplığı'nın kullanımı için Maps JavaScript API, Yerler API'si için açıklanan politikalara uygun olmalıdır.
Yer Aramaları
Yerler hizmetiyle aşağıdaki türlerde aramalar yapabilirsiniz:
- Sorgudan Yer Bulma metin sorgusuna (örneğin, bir yerin adı veya adresi) göre bir yer döndürür.
- Telefon Numarasından Yer Bulma, telefon numarasına göre bir yer döndürür.
- Yakındaki Arama kullanıcının konumuna göre yakındaki yerlerin listesini döndürür.
- Metin Arama, bir arama dizesine dayalı olarak yakındaki yerlerin listesini döndürür (ör. "Pizza".
- Yer Ayrıntıları istekleri, kullanıcı yorumları da dahil olmak üzere belirli bir yer hakkında daha ayrıntılı bilgi sağlar.
Döndürülen bilgiler arasında restoranlar, mağazalar ve ofisler gibi kuruluşların yanı sıra adresleri, kasaba ve şehirler gibi siyasi alanları ve diğer önemli yerleri belirten "coğrafi kodlama" sonuçları yer alır.
Yer Bulma istekleri
Yer Bulma isteği, metin sorgusu veya telefon numarasıyla bir yer aramanıza olanak tanır. İki tür Yer Bulma isteği vardır:
Sorgudan Yer Bulma
Sorgudan Yer Bulma özelliği bir metin girişi alır ve bir yer döndürür. Giriş, işletme adı veya adres gibi herhangi bir türde Yer verisi olabilir. Sorgudan Yer Bulma isteğinde bulunmak için PlacesService
findPlaceFromQuery()
yöntemini çağırın. Bu yöntem aşağıdaki parametreleri alır:
query
(zorunlu) Arama yapılacak metin dizesi. Örneğin: "restoran" veya "123 Sokak". Bu, bir yer adı, adres veya tesis kategorisi olmalıdır. Diğer giriş türleri hata oluşturabilir ve geçerli sonuçlar döndüreceği garanti edilmez. Yerler API'si bu dizeye dayalı aday eşleşmelerini döndürür ve sonuçları algılanan alaka düzeyine göre sıralar.fields
(zorunlu) Döndürülecek Yer verilerinin türlerini belirten bir veya daha fazla alan.locationBias
(isteğe bağlı) Aranacak alanı tanımlayan koordinatlar. Aşağıdakilerden biri olabilir:- LatLngLiteral veya LatLng nesnesi olarak belirtilen bir enlem/boylam koordinatı grubu
- Dikdörtgen sınırlar (iki enlem/boylam çifti veya bir LatLngBounds nesnesi)
- Merkezi enlem/boylamı gösteren yarıçap (metre cinsinden)
Ayrıca, sonuç nesnesini ve google.maps.places.PlacesServiceStatus
yanıtını ele almak için findPlaceFromQuery()
işlevine bir geri çağırma yöntemi iletmeniz gerekir.
Aşağıdaki örnekte "Avustralya Modern Sanat Müzesi"ni arayan name
ve geometry
alanlarının yer aldığı findPlaceFromQuery()
çağrısı yer almaktadır.
var map; var service; var infowindow; function initMap() { var sydney = new google.maps.LatLng(-33.867, 151.195); infowindow = new google.maps.InfoWindow(); map = new google.maps.Map( document.getElementById('map'), {center: sydney, zoom: 15}); var request = { query: 'Museum of Contemporary Art Australia', fields: ['name', 'geometry'], }; var service = new google.maps.places.PlacesService(map); service.findPlaceFromQuery(request, function(results, status) { if (status === google.maps.places.PlacesServiceStatus.OK) { for (var i = 0; i < results.length; i++) { createMarker(results[i]); } map.setCenter(results[0].geometry.location); } }); }Örneği göster
Telefon Numarasından Yer Bulun
Telefon Numarasından Yer Bul özelliği bir telefon numarası alır ve yer bilgisi döndürür. Telefon Numarasından Yer Bulma isteğinde bulunmak için aşağıdaki parametreleri alan, PlacesService
findPlaceFromPhoneNumber()
yöntemini çağırın:
phoneNumber
(zorunlu) E.164 biçiminde bir telefon numarası.fields
(zorunlu) Döndürülecek Yer verilerinin türlerini belirten bir veya daha fazla alan.locationBias
(isteğe bağlı) Aranacak alanı tanımlayan koordinatlar. Aşağıdakilerden biri olabilir:- LatLngLiteral veya LatLng nesnesi olarak belirtilen bir enlem/boylam koordinatı grubu
- Dikdörtgen sınırlar (dört enlem/boylam noktası veya bir LatLngBounds nesnesi)
- Merkezi enlem/boylamı gösteren yarıçap (metre cinsinden)
Ayrıca, sonuç nesnesini ve google.maps.places.PlacesServiceStatus
yanıtını ele almak için findPlaceFromPhoneNumber()
işlevine bir geri çağırma yöntemi iletmeniz gerekir.
Alanlar (Yer yöntemlerini bulun)
Döndürülecek yer verisi türlerini belirtmek için fields
parametresini kullanın.
Örneğin: fields: ['formatted_address', 'opening_hours', 'geometry']
.
Bileşik değerleri belirtirken bir nokta kullanın. Örneğin: opening_hours.weekday_text
.
Alanlar Yer Arama sonuçları'na karşılık gelir ve üç temel faturalandırma kategorisine ayrılmıştır: Temel, Kişi ve Atmosfer. Temel alanlar temel ücret üzerinden faturalandırılır. Bu durumda ek ücret alınmaz. İletişim ve Atmosfer alanları daha yüksek ücretle faturalandırılır. Daha fazla bilgi için fiyatlandırma sayfasına göz atın. Atıfların (html_attributions
), alanın istenip istenmediğine bakılmaksızın her çağrıda her zaman döndürülür.
Temel
Temel kategorisi şu alanları içerir:
business_status
, formatted_address
, geometry
,
icon
,icon_mask_base_uri
, icon_background_color
,
name
, permanently_closed
(kullanımdan kaldırıldı),
photos
, place_id
, plus_code
, types
İletişim
Kişi kategorisinde şu alan bulunur:opening_hours
(Yerler Kitaplığı'nda kullanımdan kaldırıldı, Maps JavaScript API.
opening_hours
sonucunu almak için bir Yer Ayrıntıları isteği kullanın).
Atmosfer
Atmosfer kategorisinde şu alanlar bulunur:price_level
, rating
, user_ratings_total
findPlaceFromQuery()
ve findPlaceFromPhoneNumber()
yöntemlerinin her biri aynı alan grubunu alır ve aynı alanları ilgili yanıtlarda döndürebilir.
Konum taraflılığı ayarlama (Yer bulma yöntemleri)
Belirli bir bölgede Yer Bulma iyi sonuç sonuçları almak için locationBias
parametresini kullanın. locationBias
öğesini aşağıdaki şekillerde ayarlayabilirsiniz:
Belirli bir bölgeyle ilgili taraflı sonuçlar:
locationBias: {lat: 37.402105, lng: -122.081974}
Aranacak dikdörtgen alanı tanımlayın:
locationBias: {north: 37.41, south: 37.40, east: -122.08, west: -122.09}
Ayrıca LatLngBounds da kullanabilirsiniz.
Belirli bir alanın merkezine yerleştirilecek arama yarıçapını tanımlayın (metre cinsinden):
locationBias: {radius: 100, center: {lat: 37.402105, lng: -122.081974}}
Yakınlardaki Arama İstekleri
Yakınlardaki Aramalar, belirli bir alandaki yerleri anahtar kelimeye veya türe göre aramanıza olanak tanır. Yakınlardaki Aramalar, her zaman iki yöntemden biriyle belirtilebilecek bir konum içermelidir:
LatLngBounds
.location
mülkünün kombinasyonu olarak tanımlanan dairesel alan ( dairenin merkeziniLatLng
nesnesi olarak belirtir) ve yarıçap olarak ölçülen bir yarıçap.
Yakındaki Yerler araması,
PlacesService
'in nearbySearch()
yöntemine bir çağrıyla başlatılır. Böylece bir dizi
PlaceResult
nesnesi döndürülür. nearbySearch()
yönteminin 3.9 sürümünden itibaren search()
yönteminin yerini aldığını unutmayın.
service = new google.maps.places.PlacesService(map); service.nearbySearch(request, callback);
Bu yöntem, aşağıdaki alanları içeren bir istek alır:
- Şunlardan biri:
bounds
(dikdörtgen arama alanını tanımlayan birgoogle.maps.LatLngBounds
nesnesi olmalıdır) veya- Bir
location
veradius
; ilki birgoogle.maps.LatLng
nesnesi alır, ikincisi ise dairenin yarıçapını metre cinsinden temsil eden basit bir tam sayı alır. İzin verilen maksimum yarıçap 50.000 metredir.rankBy
, DISTANCE değerine ayarlandığındalocation
belirtmeniz gerekir, ancakradius
veyabounds
belirtemezsiniz.
keyword
(isteğe bağlı): Müşteri yorumları ve diğer üçüncü taraf içeriklerin yanı sıra ad, tür ve adres de dahil ancak bunlarla sınırlı olmamak üzere mevcut tüm alanlarla eşleştirilecek bir terim.minPriceLevel
vemaxPriceLevel
(isteğe bağlı): Sonuçları yalnızca belirtilen aralıktaki yerlerle sınırlar. Geçerli değerler 0 (en uygun fiyatlı) ile 4 (en pahalı) arasında değişir.name
Kullanımdan kaldırıldı.keyword
yönergesine eşdeğer. Bu alandaki değerler,keyword
alanındaki değerlerle birleştirilir ve aynı arama dizesinin parçası olarak aktarılır.openNow
(isteğe bağlı): Yer hizmetinin yalnızca sorgu gönderildiğinde açık olan yerleri döndürmesi gerektiğini gösteren bir boole değeridir. Bu parametreyi sorgunuza eklerseniz Google Yerler veritabanında çalışma saatleri belirtmeyen yerler döndürülmez.openNow
alanınınfalse
olarak ayarlanmasının herhangi bir etkisi yoktur.rankBy
(isteğe bağlı): Sonuçların listelendiği sırayı belirtir. Olası değerler:google.maps.places.RankBy.PROMINENCE
(varsayılan). Bu seçenek, sonuçları önem derecelerine göre sıralar. Sıralama, belirlenen yarıçapla eşleşen yakındaki yerleri, eşleşen ancak daha az belirgin olan yerlere tercih eder. Önem; bir yerin Google dizinindeki sıralamasından, küresel popülerliğinden ve diğer faktörlerden etkilenebilir.google.maps.places.RankBy.PROMINENCE
belirtildiğinderadius
parametresi gerekir.google.maps.places.RankBy.DISTANCE
. Bu seçenek, sonuçları belirtilenlocation
ile arasındaki mesafeye göre artan düzende sıralar (zorunlu).RankBy.DISTANCE
özelini belirtirseniz özel birbounds
ve/veyaradius
belirtemeyeceğinizi unutmayın.RankBy.DISTANCE
öğesini belirttiğinizdekeyword
,name
veyatype
arasından bir veya daha fazlası gereklidir.
type
: Sonuçları, belirtilen türle eşleşen yerlerle sınırlar. Yalnızca bir tür belirtilebilir (birden fazla tür sağlanırsa ilk girişi izleyen tüm türler yok sayılır). Desteklenen türlerin listesine bakın.
Sonuçlar nesnesini ve google.maps.places.PlacesServiceStatus
yanıtını ele almak için nearbySearch()
işlevine bir geri çağırma yöntemi iletmeniz de gerekir.
var map; var service; var infowindow; function initialize() { var pyrmont = new google.maps.LatLng(-33.8665433,151.1956316); map = new google.maps.Map(document.getElementById('map'), { center: pyrmont, zoom: 15 }); var request = { location: pyrmont, radius: '500', type: ['restaurant'] }; service = new google.maps.places.PlacesService(map); service.nearbySearch(request, callback); } function callback(results, status) { if (status == google.maps.places.PlacesServiceStatus.OK) { for (var i = 0; i < results.length; i++) { createMarker(results[i]); } } }
Metin Arama İstekleri
Google Yerler Metin Arama hizmeti, bir dizi dizeye dayalı olarak yerlerle ilgili bilgi döndüren bir web hizmetidir (ör. "İstanbul'da pizza" veya "Ottawa yakınlarında ayakkabı mağazaları"). Hizmet, metin dizesi ve ayarlanan konum ön yargısıyla eşleşen yerlerin bir listesiyle yanıt verir. Arama yanıtı yerlerin listesini içerir. Yanıttaki herhangi bir yer hakkında daha fazla bilgi edinmek için Yer Ayrıntıları isteği gönderebilirsiniz.
Metin Aramaları, PlacesService
textSearch()
yöntemini çağırarak
başlatılır.
service = new google.maps.places.PlacesService(map); service.textSearch(request, callback);
Bu yöntem, aşağıdaki alanları içeren bir istek alır:
query
(zorunlu) Aranacak metin dizesi, örneğin: "restoran" veya "123 Sokak". Bu, bir yer adı, adresi veya tesis kategorisi olmalıdır. Diğer giriş türleri hata oluşturabilir ve geçerli sonuçlar döndüreceği garanti edilmez. Yerler hizmeti, bu dizeye dayanarak aday eşleşmelerini döndürür ve sonuçları algılanan alaka düzeyine göre sıralar.type
parametresi arama isteğinde de kullanılıyorsa bu parametre isteğe bağlıdır.- İsteğe bağlı olarak:
openNow
: Yerler hizmetinin yalnızca sorgu gönderildiğinde açık olan yerleri döndürmesi gerektiğini gösteren bir boole değeridir. Bu parametreyi sorgunuza eklerseniz Google Yerler veritabanında çalışma saatleri belirtmeyen yerler döndürülmez.openNow
alanınınfalse
olarak ayarlanmasının herhangi bir etkisi yoktur.minPriceLevel
vemaxPriceLevel
: Sonuçları yalnızca belirtilen fiyat düzeyindeki yerlerle sınırlar. Geçerli değerler 0 (en uygun fiyatlı) ile 4 (en pahalı) arasında değişir.- Şunlardan biri:
bounds
: Aranacak dikdörtgeni tanımlayan birgoogle.maps.LatLngBounds
nesnesi veyalocation
veradius
:location
veradius
parametrelerini ileterek sonuçları belirli bir daireye çevirebilirsiniz. Bu işlemle, Yerler hizmetine bu çevre içindeki sonuçları göstermeyi tercih etmesi sağlanır. Tanımlanan alanın dışındaki sonuçlar gösterilmeye devam edebilir. Konum birgoogle.maps.LatLng
nesnesi alır ve yarıçap, dairenin yarıçapını metre cinsinden belirten basit bir tam sayı alır. İzin verilen maksimum yarıçap 50.000 metredir.
type
: Sonuçları, belirtilen türle eşleşen yerlerle sınırlar. Yalnızca bir tür belirtilebilir (birden fazla tür sağlanırsa ilk girişi izleyen tüm türler yok sayılır). Desteklenen türlerin listesine bakın.
Ayrıca, sonuç nesnesini ve bir google.maps.places.PlacesServiceStatus
yanıtını işlemek için textSearch()
işlevine bir geri çağırma yöntemi iletmeniz gerekir.
var map; var service; var infowindow; function initialize() { var pyrmont = new google.maps.LatLng(-33.8665433,151.1956316); map = new google.maps.Map(document.getElementById('map'), { center: pyrmont, zoom: 15 }); var request = { location: pyrmont, radius: '500', query: 'restaurant' }; service = new google.maps.places.PlacesService(map); service.textSearch(request, callback); } function callback(results, status) { if (status == google.maps.places.PlacesServiceStatus.OK) { for (var i = 0; i < results.length; i++) { var place = results[i]; createMarker(results[i]); } } }
Arama Yanıtları
Durum Kodları
PlacesServiceStatus
yanıt nesnesi, isteğin durumunu içerir ve yer isteğinin neden başarısız olduğunu takip etmenize yardımcı olacak hata ayıklama bilgilerini içerebilir. Olası durum değerleri şunlardır:
INVALID_REQUEST
: Bu istek geçersizdi.OK
: Yanıt geçerli bir sonuç içeriyor.OVER_QUERY_LIMIT
: Web sayfası, istek kotasını aştı.REQUEST_DENIED
: Web sayfasında Yerler Hizmeti'nin kullanılmasına izin verilmiyor.UNKNOWN_ERROR
: Yer hizmeti isteği, bir sunucu hatası nedeniyle işlenemedi. Tekrar denerseniz istek başarılı olabilir.ZERO_RESULTS
: Bu istek için sonuç bulunamadı.
Yer Arama Sonuçları
findPlace()
, nearbySearch()
ve textSearch()
işlevleri, bir PlaceResult
nesnesi dizisi döndürür.
Her PlaceResult
nesnesi aşağıdaki özellikleri içerebilir:
business_status
, bir işletmeyse yerin çalışma durumunu gösterir. Aşağıdaki değerlerden birini içerebilir:OPERATIONAL
CLOSED_TEMPORARILY
CLOSED_PERMANENTLY
business_status
döndürülmez.formatted_address
, bu yerin okunabilir adresini içeren bir dizedir.formatted_address
özelliği yalnızca Metin Arama için döndürülür.Bu adres genellikle posta adresiyle eşdeğerdir. Birleşik Krallık gibi bazı ülkelerde lisanslama kısıtlamaları nedeniyle gerçek posta adreslerinin dağıtımına izin verilmediğini hatırlatmak isteriz.
Biçimlendirilmiş adres, mantıksal olarak bir veya daha fazla adres bileşeninden oluşur. Örneğin, "111 8th Avenue, New York, NY" adresi şu bileşenlerden oluşur: "111" (sokak numarası), "8th Avenue" (rota), "New York" (şehir) ve "NY" (ABD eyaleti).
Biçimlendirilmiş adresi programatik olarak ayrıştırmayın. Bunun yerine, API yanıtının biçimlendirilmiş adres alanına ek olarak içerdiği bağımsız adres bileşenlerini kullanmanız gerekir.
geometry
: Yerin geometrisiyle ilgili bilgiler. Bunlardan bazıları:location
, yerin enlem ve boylamını sağlar.viewport
, bu yeri görüntülerken haritada tercih edilen görüntü alanını tanımlar.
permanently_closed
(kullanımdan kaldırıldı), yerin kalıcı olarak mı yoksa geçici olarak mı kapatılacağını (true
değeri) belirtir bir boole işaretidir.permanently_closed
kullanmayın. Bunun yerine, işletmelerin operasyonel durumunu öğrenmek içinbusiness_status
özelliğini kullanın.plus_code
(Konum Konumunu Aç ve artı kodları), enlem ve boylam koordinatlarından türetilen ve bir alanı temsil eden kodlanmış konum referansıdır: derecenin 1/8000'i ile 1/8000 derece (ekvatorda yaklaşık 14 m x 14 m) veya daha küçük bir alan. Artı kodları, mevcut olmayan (binaların numaralandırılmadığı veya sokakların adlandırılmamış olduğu) açık adreslerin yerine kullanılabilir.Plus code, global kod ve birleşik kod olarak biçimlendirilir:
global_code
, 4 karakter uzunluğunda bir alan kodu ve 6 veya daha uzun yerel koddur (849VCWC8+R9).compound_code
, açık bir konuma (CWC8+R9, Mountain View, CA, ABD) sahip 6 karakter veya daha uzun bir yerel koddur. Bu içeriği programla ayrıştırmayın.
html_attributions
: Arama sonuçlarını gösterirken görüntülemeniz gereken bir atıf dizisi. Dizideki her giriş tek bir ilişkilendirmeye ait HTML metnini içerir. Not: Bu, arama yanıtının tamamı için tüm ilişkilendirmelerin toplamıdır. Dolayısıyla yanıttakiPlaceResult
nesnelerinin tümü aynı ilişkilendirme listelerini içerir.icon
, renkli 71 piksel x 71 piksel PNG simgesinin URL'sini döndürür.icon_mask_base_uri
, renksiz bir simgenin temel URL'sini .svg veya .png uzantısından çıkarır.icon_background_color
, yer kategorisinin varsayılan HEX renk kodunu döndürür.name
: Yerin adı.opening_hours
aşağıdaki bilgileri içerebilir:open_now
, yerin o anda açık olup olmadığını gösteren bir boole değeridir (Yerler Kitaplığı'nda, Maps JavaScript API'de kullanımdan kaldırıldı, onun yerineutc_offset_minutes
kullanın).
place_id
, bir yeri benzersiz şekilde tanımlayan metin tanımlayıcısıdır. Yer hakkında bilgi almak için Yer Ayrıntıları isteğinde bu tanımlayıcıyı iletin. Yer kimliğine sahip bir yere nasıl referans vereceğiniz hakkında daha fazla bilgi edinin.rating
, bir yerin kullanıcı puanlarına göre 0,0 ile 5,0 arasındaki bir derecelendirmesini içerir.types
Bu yer için bir dizi tür (ör.["political", "locality"]
veya["restaurant", "lodging"]
). Bu dizi birden fazla değer içerebilir veya boş olabilir. Yeni değerler, önceden bildirilmeksizin kullanıma sunulabilir. Desteklenen türlerin listesine bakın.vicinity
: Sokak adı, sokak numarası ve konum bilgisi dahil olmak üzere yer için basitleştirilmiş bir adrestir. İl/eyalet, posta kodu veya ülke bilgisi dahil değildir. Örneğin, Google'ın Sidney, Avustralya ofisininvicinity
değeri5/48 Pirrama Road, Pyrmont
.
Ek Sonuçlara Erişme
Varsayılan olarak her yer araması, sorgu başına en fazla 20 sonuç döndürür. Ancak her arama, üç sayfaya bölünerek en fazla 60 sonuç döndürebilir.
PlaceSearchPagination
nesnesi aracılığıyla ek sayfalar mevcuttur. Ek sayfalara erişmek için geri çağırma işlevi aracılığıyla PlaceSearchPagination
nesnesini yakalamanız gerekir. PlaceSearchPagination
nesnesi şu şekilde tanımlanır:
- Daha fazla sonuç olup olmadığını belirten boole özelliği.
hasNextPage
true
bulunur. nextPage()
bir sonraki sonuç grubunu döndürecek bir işlev. Bir arama yaptıktan sonra, bir sonraki sonuç sayfasının kullanılabilir olması için iki saniye beklemeniz gerekir.
Sonraki sonuç grubunu görmek için nextPage
numaralı telefonu arayın.
Her sonuç sayfası, bir sonraki sonuç sayfası gösterilmeden önce görüntülenmelidir. Her aramanın, kullanım sınırlarınızda tek bir istek olarak sayıldığını unutmayın.
Aşağıdaki örnekte, birden çok arama isteğinde bulunabilmeniz için PlaceSearchPagination
nesnesini yakalamak için geri çağırma işlevinizin nasıl değiştirileceği gösterilmektedir.
TypeScript
// This example requires the Places library. Include the libraries=places // parameter when you first load the API. For example: // <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=places"> function initMap(): void { // Create the map. const pyrmont = { lat: -33.866, lng: 151.196 }; const map = new google.maps.Map( document.getElementById("map") as HTMLElement, { center: pyrmont, zoom: 17, mapId: "8d193001f940fde3", } as google.maps.MapOptions ); // Create the places service. const service = new google.maps.places.PlacesService(map); let getNextPage: () => void | false; const moreButton = document.getElementById("more") as HTMLButtonElement; moreButton.onclick = function () { moreButton.disabled = true; if (getNextPage) { getNextPage(); } }; // Perform a nearby search. service.nearbySearch( { location: pyrmont, radius: 500, type: "store" }, ( results: google.maps.places.PlaceResult[] | null, status: google.maps.places.PlacesServiceStatus, pagination: google.maps.places.PlaceSearchPagination | null ) => { if (status !== "OK" || !results) return; addPlaces(results, map); moreButton.disabled = !pagination || !pagination.hasNextPage; if (pagination && pagination.hasNextPage) { getNextPage = () => { // Note: nextPage will call the same handler function as the initial call pagination.nextPage(); }; } } ); } function addPlaces( places: google.maps.places.PlaceResult[], map: google.maps.Map ) { const placesList = document.getElementById("places") as HTMLElement; for (const place of places) { if (place.geometry && place.geometry.location) { const image = { url: place.icon!, size: new google.maps.Size(71, 71), origin: new google.maps.Point(0, 0), anchor: new google.maps.Point(17, 34), scaledSize: new google.maps.Size(25, 25), }; new google.maps.Marker({ map, icon: image, title: place.name!, position: place.geometry.location, }); const li = document.createElement("li"); li.textContent = place.name!; placesList.appendChild(li); li.addEventListener("click", () => { map.setCenter(place.geometry!.location!); }); } } } declare global { interface Window { initMap: () => void; } } window.initMap = initMap;
JavaScript
// This example requires the Places library. Include the libraries=places // parameter when you first load the API. For example: // <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=places"> function initMap() { // Create the map. const pyrmont = { lat: -33.866, lng: 151.196 }; const map = new google.maps.Map(document.getElementById("map"), { center: pyrmont, zoom: 17, mapId: "8d193001f940fde3", }); // Create the places service. const service = new google.maps.places.PlacesService(map); let getNextPage; const moreButton = document.getElementById("more"); moreButton.onclick = function () { moreButton.disabled = true; if (getNextPage) { getNextPage(); } }; // Perform a nearby search. service.nearbySearch( { location: pyrmont, radius: 500, type: "store" }, (results, status, pagination) => { if (status !== "OK" || !results) return; addPlaces(results, map); moreButton.disabled = !pagination || !pagination.hasNextPage; if (pagination && pagination.hasNextPage) { getNextPage = () => { // Note: nextPage will call the same handler function as the initial call pagination.nextPage(); }; } } ); } function addPlaces(places, map) { const placesList = document.getElementById("places"); for (const place of places) { if (place.geometry && place.geometry.location) { const image = { url: place.icon, size: new google.maps.Size(71, 71), origin: new google.maps.Point(0, 0), anchor: new google.maps.Point(17, 34), scaledSize: new google.maps.Size(25, 25), }; new google.maps.Marker({ map, icon: image, title: place.name, position: place.geometry.location, }); const li = document.createElement("li"); li.textContent = place.name; placesList.appendChild(li); li.addEventListener("click", () => { map.setCenter(place.geometry.location); }); } } } window.initMap = initMap;
Örneği Deneyin
Yer Ayrıntıları
Yer hizmeti, bir bölgedeki yerlerin listesini sağlamanın yanı sıra belirli bir yer hakkında ayrıntılı bilgi de sağlayabilir. Yer arama yanıtında bir yer döndürüldükten sonra, yer kimliği bu yer hakkında adres, telefon numarası, kullanıcı puanı ve yorumlar gibi ek ayrıntılar istemek için kullanılabilir.
Yer Ayrıntıları İstekleri
Yer Ayrıntıları, hizmetin getDetails()
yöntemine yapılan çağrıyla istenir.
service = new google.maps.places.PlacesService(map); service.getDetails(request, callback);
Bu yöntem, istenen yerin placeId
bilgisini ve döndürülecek Yer verisi türlerini belirten alanları içeren bir istek alır. Yer kimliği kullanarak bir yere referans verme hakkında daha fazla bilgi edinin.
Ayrıca, google.maps.places.PlacesServiceStatus
nesnesinde iletilen durum kodunu ve google.maps.places.PlaceResult
nesnesini işlemesi gereken bir geri çağırma yöntemi de kullanılır.
var request = { placeId: 'ChIJN1t_tDeuEmsRUsoyG83frY4', fields: ['name', 'rating', 'formatted_phone_number', 'geometry'] }; service = new google.maps.places.PlacesService(map); service.getDetails(request, callback); function callback(place, status) { if (status == google.maps.places.PlacesServiceStatus.OK) { createMarker(place); } }
Alanlar (Yer ayrıntıları)
fields
parametresi bir dize dizisi (alan adları) alır.
Döndürülecek yer verisi türlerini belirtmek için fields
parametresini kullanın.
Örneğin: fields: ['address_component', 'opening_hours', 'geometry']
.
Bileşik değerleri belirtirken bir nokta kullanın. Örneğin: opening_hours.weekday_text
.
Alanlar Yer Ayrıntıları sonuçlarına karşılık gelir ve üç temel faturalandırma kategorisine ayrılmıştır: Temel, İletişim ve Atmosfer. Temel alanlar taban ücretle faturalandırılır ve ek ücret alınmaz. Kişi ve Atmosfer alanları daha yüksek ücretle faturalandırılır. Daha fazla bilgi için fiyatlandırma sayfasına göz atın. İlişkilendirmeler (html_attributions
), istenmiş olsun veya olmasın her zaman her çağrıda döndürülür.
Temel
Temel kategorisi aşağıdaki alanları içerir:
address_component
, adr_address
, business_status
,
formatted_address
, geometry
, icon
,
icon_mask_base_uri
, icon_background_color
,name
,
permanently_closed
(kullanımdan kaldırıldı),
photo
, place_id
, plus_code
, type
,
url
, utc_offset
(/{29de//)
İletişim
Kişi kategorisi şu alanları içerir:
formatted_phone_number
, international_phone_number
,
opening_hours
, website
Atmosfer
Atmosfer kategorisinde şu alanlar bulunur:
price_level
, rating
, reviews
,
user_ratings_total
Yer alanları hakkında daha fazla bilgi edinin. Yer verileri isteklerinin nasıl faturalandırıldığı hakkında daha fazla bilgi için Kullanım ve Faturalandırma'ya bakın.
Yer Ayrıntıları Yanıtları
Durum Kodları
PlacesServiceStatus
yanıt nesnesi, isteğin durumunu içerir ve Yer Ayrıntıları isteğinin neden başarısız olduğunu takip etmenize yardımcı olacak hata ayıklama bilgilerini içerebilir. Olası durum değerleri şunlardır:
INVALID_REQUEST
: Bu istek geçersizdi.OK
: Yanıt geçerli bir sonuç içeriyor.OVER_QUERY_LIMIT
: Web sayfası, istek kotasını aştı.NOT_FOUND
Başvurulan konum, Yerler veritabanında bulunamadı.REQUEST_DENIED
: Web sayfasında Yerler Hizmeti'nin kullanılmasına izin verilmiyor.UNKNOWN_ERROR
: Yer hizmeti isteği, bir sunucu hatası nedeniyle işlenemedi. Tekrar denerseniz istek başarılı olabilir.ZERO_RESULTS
: Bu istek için sonuç bulunamadı.
Yer Ayrıntıları Sonuçları
Başarılı getDetails()
çağrısı aşağıdaki özelliklere sahip bir PlaceResult
nesnesi döndürür:
address_components
: Bu adres için geçerli olan ayrı bileşenleri içeren bir dizi.Her adres bileşeni genellikle aşağıdaki alanları içerir:
types[]
, adres bileşeninin türünü belirten bir dizidir. Desteklenen türlerin listesine bakın.long_name
, Geocoder tarafından döndürülen adres bileşeninin tam metin açıklaması veya adıdır.short_name
, adres bileşeninin (varsa) kısaltılmış metin adıdır. Örneğin, Alaska eyaletindeki bir adres bileşeninde, 2 harfli posta kısaltması kullanılaraklong_name
"Alaska" veshort_name
değeri "AK" bulunabilir.
address_components[]
dizisiyle ilgili aşağıdaki noktaları göz önünde bulundurun:- Adres bileşenleri dizisi,
formatted_address
değerinden daha fazla bileşen içerebilir. - Dizide,
formatted_address
içinde bulunanlar dışında adres içeren tüm siyasi kuruluşlar bulunmayabilir. Belirli bir adres içeren tüm siyasi varlıkları almak için, isteğin enlem veya boylamını parametre olarak ileterek tersine coğrafi kodlama kullanmanız gerekir. - İsteğin biçiminin istekler arasında aynı kalacağı garanti edilmez. Özellikle
address_components
sayısı, talep edilen adrese göre değişir ve aynı adres için zaman içinde değişebilir. Bir bileşen, dizideki konumu değiştirebilir. Bileşenin türü değişebilir. Daha sonraki bir yanıtta belirli bir bileşen eksik olabilir.
business_status
, bir işletmeyse yerin çalışma durumunu gösterir. Aşağıdaki değerlerden birini içerebilir:OPERATIONAL
CLOSED_TEMPORARILY
CLOSED_PERMANENTLY
business_status
döndürülmez.formatted_address
: Bu yerin okuyabildiği adres.Bu adres genellikle posta adresiyle eşdeğerdir. Birleşik Krallık gibi bazı ülkelerde lisanslama kısıtlamaları nedeniyle gerçek posta adreslerinin dağıtımına izin verilmediğini hatırlatmak isteriz.
Biçimlendirilmiş adres, mantıksal olarak bir veya daha fazla adres bileşeninden oluşur. Örneğin, "111 8th Avenue, New York, NY" adresi şu bileşenlerden oluşur: "111" (sokak numarası), "8th Avenue" (rota), "New York" (şehir) ve "NY" (ABD eyaleti).
Biçimlendirilmiş adresi programatik olarak ayrıştırmayın. Bunun yerine, API yanıtının biçimlendirilmiş adres alanına ek olarak içerdiği bağımsız adres bileşenlerini kullanmanız gerekir.
formatted_phone_number
: Telefonun bölgesel modeline göre biçimlendirilmiş telefon numarası.geometry
: Yerin geometrisiyle ilgili bilgiler. Bunlardan bazıları:location
, yerin enlem ve boylamını sağlar.viewport
, bu yeri görüntülerken haritada tercih edilen görüntü alanını tanımlar.
permanently_closed
(kullanımdan kaldırıldı), yerin kalıcı olarak mı yoksa geçici olarak mı kapatılacağını (true
değeri) belirtir bir boole işaretidir.permanently_closed
kullanmayın. Bunun yerine, işletmelerin operasyonel durumunu öğrenmek içinbusiness_status
özelliğini kullanın.plus_code
(Konum Konumunu Aç ve artı kodları), enlem ve boylam koordinatlarından türetilen ve bir alanı temsil eden kodlanmış konum referansıdır: derecenin 1/8000'i ile 1/8000 derece (ekvatorda yaklaşık 14 m x 14 m) veya daha küçük bir alan. Artı kodları, mevcut olmayan (binaların numaralandırılmadığı veya sokakların adlandırılmamış olduğu) açık adreslerin yerine kullanılabilir.Plus code, global kod ve birleşik kod olarak biçimlendirilir:
global_code
, 4 karakter uzunluğunda bir alan kodu ve 6 veya daha uzun yerel koddur (849VCWC8+R9).compound_code
, açık bir konuma (CWC8+R9, Mountain View, CA, ABD) sahip 6 karakter veya daha uzun bir yerel koddur. Bu içeriği programla ayrıştırmayın.
html_attributions
: Bu yer sonucu için gösterilecek ilişkilendirme metni.icon
: Bu yerin türünü göstermek için kullanılabilecek resim kaynağının URL'si.international_phone_number
, yerin telefon numarasını uluslararası standarda uygun biçimde içeriyor. Uluslararası biçim, ülke kodunu içerir ve buna artı (+) işaretiyle eklenir. Örneğin, Google'ın Sidney, Avustralya ofisinininternational_phone_number
adı+61 2 9374 4000
şeklindedir.name
: Yerin adı.utc_offset
Yerler Kitaplığı, Maps JavaScript API'de kullanımdan kaldırıldı. Bunun yerineutc_offset_minutes
kullanın.utc_offset_minutes
, bu yerin mevcut saat diliminin UTC ile farkını belirtir. Örneğin, Avustralya'nın Sidney şehrindeki yaz saati uygulaması sırasında bu saat 660 (UTC'den +11 saat) ve Kaliforniya'da yaz saati dışındaki yerler için bu değer -480 (UTC ile -8 saat) arasıdır.opening_hours
aşağıdaki bilgileri içerir:open_now
(Yerler Kitaplığı'nda, Maps JavaScript API'de kullanımdan kaldırıldı. Bunun yerine opening_hours.isOpen() kullanın.isOpen
ürününün Yer Ayrıntıları ile nasıl kullanılacağını öğrenmek için bu videoya göz atın.) yerin şu anda açık olup olmadığını belirten bir boole değeridir.periods[]
, pazardan başlayarak kronolojik sırayla yedi günü kapsayan bir dizi açılış dönemidir. Her dönem şunları içerir:open
, yerin ne zaman açıldığını açıklayan bir çift gün ve saat nesnesi içerir:day
tarihinden itibaren, pazar günlerinden itibaren 0-6 arasında bir sayı olacaktır. Örneğin, 2, Salı anlamına gelir.time
, günün 24 saati sa:dk biçimini içerebilir (değerler 0000–2359 aralığındadır).time
, yerin saat diliminde raporlanır.
close
, yerin ne zaman kapandığını açıklayan bir çift gün ve saat nesnesi içerebilir. Not: Yer her zaman açıksa yanıttaclose
bölümü eksik olur. Uygulamalar, her zaman açık olacak şekilde, 0 değerine sahipday
ve 0000 değerine sahip,time
içerenclose
içeren biropen
dönemi olarak temsil edilebilir.
weekday_text
, haftanın her günü için biçimlendirilmiş çalışma saatlerini temsil eden yedi dizeden oluşan bir dizidir. Yer Ayrıntıları isteğinde birlanguage
parametresi belirtilmişse Yerler Hizmeti, çalışma saatlerini bu dile uygun şekilde biçimlendirir ve yerelleştirir. Bu dizideki öğelerin sıralaması,language
parametresine bağlıdır. Bazı dillerde hafta pazartesi, bazıları ise pazar günleri başlar.
permanently_closed
(kullanımdan kaldırıldı), yerin kalıcı olarak mı yoksa geçici olarak mı kapatılacağını (true
değeri) belirtir bir boole işaretidir.permanently_closed
kullanmayın. Bunun yerine, işletmelerin operasyonel durumunu öğrenmek içinbusiness_status
özelliğini kullanın.photos[]
:PlacePhoto
nesne dizisi.PlacePhoto
,getUrl()
yöntemini kullanarak fotoğraf elde etmek için kullanılabilir veya aşağıdaki değerler için nesneyi inceleyebilirsiniz:height
: Resmin piksel cinsinden maksimum yüksekliği.width
: Resmin piksel cinsinden maksimum genişliği.html_attributions
: İlişkilendirme metni, bu yer fotoğrafıyla birlikte gösterilecek.
place_id
: Bir yeri benzersiz şekilde tanımlayan ve Yer Ayrıntıları isteği aracılığıyla yer hakkındaki bilgileri almak için kullanılabilen metin tanımlayıcısı. Yer kimliğine sahip bir yere nasıl referans vereceğiniz hakkında daha fazla bilgi edinin.rating
: Toplam kullanıcı yorumlarına göre 0, 0 ile 5, 0 arasındaki bir puandır.reviews
En fazla beş yorumdan oluşan bir dizi. Her yorum birkaç bileşenden oluşur:aspects[]
,PlaceAspectRating
nesne dizisi içerir. Bu nesnelerin her biri, tesisin tek bir özelliğinin puanını belirtir. Dizideki ilk nesne birincil en boy olarak kabul edilir. HerPlaceAspectRating
şu şekilde tanımlanır:type
puan verilen özelliğin adı. Şu türler desteklenir:appeal
,atmosphere
,decor
,facilities
,food
,overall
,quality
veservice
.rating
Kullanıcının bu özellikle ilgili olarak 0 ile 3 arasında puan vermesi.
author_name
yorumu gönderen kullanıcının adı. Anonim yorumlar "Bir Google kullanıcısı" ile ilişkilendirilir. Dil parametresi ayarlandıysa "Google kullanıcısı" ifadesi, yerelleştirilmiş bir dize döndürür.author_url
(varsa) kullanıcının Google+ profilinin URL'si.language
Kullanıcının yorumunda kullanılan dili belirten bir IETF dil kodu ekleyin. Bu alan yalnızca ana dil etiketini içerir, ülke veya bölgeyi belirten ikincil etiketi içermez. Örneğin, tüm İngilizce yorumlar "en-AU" veya "en-UK" değil, "en" olarak etiketlenir.rating
Kullanıcının bu yer için genel puanı. Bu, 1 ile 5 arasında değişen bir tam sayıdır.text
adlı kullanıcının yorumu. Google Yerler ile bir yeri incelerken metin incelemeleri isteğe bağlı olarak kabul edilir, bu nedenle bu alan boş olabilir.
types
Bu yer için bir dizi tür (ör.["political", "locality"]
veya["restaurant", "lodging"]
). Bu dizi birden fazla değer içerebilir veya boş olabilir. Yeni değerler, önceden bildirilmeksizin kullanıma sunulabilir. Desteklenen türlerin listesine bakın.url
: Bu yerin resmi Google sayfasının URL'si. Bu sayfa, yer hakkında mevcut en iyi bilgileri içeren Google'a ait sayfadır. Uygulamalar, kullanıcıya yerle ilgili ayrıntılı sonuçları gösteren herhangi bir ekrana bağlantı vermeli veya bu sayfayı yerleştirmelidir.vicinity
: Sokak adı, sokak numarası ve konum bilgisi dahil olmak üzere yer için basitleştirilmiş bir adrestir. İl/eyalet, posta kodu veya ülke bilgisi dahil değildir. Örneğin, Google'ın Sidney, Avustralya ofisininvicinity
değeri5/48 Pirrama Road, Pyrmont
.vicinity
özelliği yalnızca Yakındaki Arama için döndürülür.website
bu işletmenin yetkili web sitesini (ör. bir işletmenin ana sayfası) listeler.
Not: Çok boyutlu derecelendirmeler tüm konumlarda kullanılamayabilir. Çok az yorum varsa ayrıntılar yanıtında 0,0 ila 5,0 ölçeğinde (varsa) eski bir puan bulunur veya hiç puan verilmez.
Yer Kimliği olan Yerlere Başvurma
Yer kimliği, bir Google Haritalar'daki bir yere verilen benzersiz referanstır. Yer kimlikleri; işletmeler, önemli noktalar, parklar ve kavşaklar dahil olmak üzere çoğu konumda kullanılabilir.
Uygulamanızda bir yer kimliği kullanmak için öncelikle bir kimlik arayın. Bu kimliği, Yer Arama veya Ayrıntılar isteğinin PlaceResult
tanesinde bulabilirsiniz.
Daha sonra, Yer Ayrıntıları'nı aramak için bu yer kimliğini kullanabilirsiniz.
Yer kimlikleri, Google Haritalar Platformu Hizmet Şartları'nın Bölüm 3.2.3(a)'da belirtilen önbelleğe alma kısıtlamalarından muaftır. Bu nedenle, yer kimliği değerlerini daha sonra kullanmak üzere saklayabilirsiniz. Yer kimliklerini depolamada en iyi uygulamalar için yer kimliğine genel bakış sayfasını inceleyin.
var map; function initialize() { // Create a map centered in Pyrmont, Sydney (Australia). map = new google.maps.Map(document.getElementById('map'), { center: {lat: -33.8666, lng: 151.1958}, zoom: 15 }); // Search for Google's office in Australia. var request = { location: map.getCenter(), radius: '500', query: 'Google Sydney' }; var service = new google.maps.places.PlacesService(map); service.textSearch(request, callback); } // Checks that the PlacesServiceStatus is OK, and adds a marker // using the place ID and location from the PlacesService. function callback(results, status) { if (status == google.maps.places.PlacesServiceStatus.OK) { var marker = new google.maps.Marker({ map: map, place: { placeId: results[0].place_id, location: results[0].geometry.location } }); } } google.maps.event.addDomListener(window, 'load', initialize);
Yerin Fotoğrafları
Yer Fotoğrafı özelliği, sitenize yüksek kaliteli fotoğraf içeriği eklemenize olanak tanır. Fotoğraf hizmeti, Yerler ve Google+ Yerel veritabanında depolanan milyonlarca fotoğrafa erişmenizi sağlar. Yer Ayrıntıları isteğini kullanarak yer bilgilerini aldığınızda, ilgili fotoğraf içeriği için fotoğraf referansları döndürülür. Ayrıca, Yakındaki Arama ve Metin Arama istekleri, alakalı olduğu durumlarda her yer için tek bir fotoğraf referansı döndürür. Ardından Fotoğraf hizmetini kullanarak referans verilen fotoğraflara erişebilir ve resmi, uygulamanız için en uygun boyutta olacak şekilde yeniden boyutlandırabilirsiniz.
Bir PlacesService
ile ilgili olarak yapılan tüm getDetails()
, textSearch()
veya nearbySearch()
istekleri için bir PlacePhoto
nesnesi dizisi PlaceResult
nesnesinin parçası olarak döndürülür.
Not: Döndürülen fotoğrafların sayısı isteğe göre değişir.
- Yakındaki Arama veya Metin Arama, en fazla bir
PlacePhoto
nesnesi döndürür. - Ayrıntılar isteği, en fazla on
PlacePhoto
nesne döndürür.
PlacePhoto.getUrl()
yöntemini çağırıp geçerli bir PhotoOptions
nesnesi ileterek ilişkili resmin URL'sini isteyebilirsiniz. PhotoOptions
nesnesi, resmin maksimum yüksekliği ve genişliğini belirtmenize olanak tanır. Hem maxHeight
hem de maxWidth
için bir değer belirtirseniz fotoğraf hizmeti, orijinal en boy oranını koruyarak resmi iki boyuttan daha küçük olacak şekilde yeniden boyutlandırır.
Aşağıdaki kod snippet'i bir yer nesnesi kabul eder ve fotoğraf varsa haritaya bir işaretçi ekler. Varsayılan işaretçi resmi, fotoğrafın küçük bir sürümüyle değiştirilir.
function createPhotoMarker(place) { var photos = place.photos; if (!photos) { return; } var marker = new google.maps.Marker({ map: map, position: place.geometry.location, title: place.name, icon: photos[0].getUrl({maxWidth: 35, maxHeight: 35}) }); }
Fotoğraf hizmeti tarafından döndürülen fotoğraflar, işletme sahipleri ve kullanıcıların eklediği fotoğraflar dahil olmak üzere çeşitli konumlardan elde edilir. Çoğu durumda, bu fotoğraflar ilişkilendirme olmadan kullanılabilir veya resmin bir parçası olarak gerekli atıfın eklenmesi gerekir. Ancak, döndürülen photo
öğesi html_attributions
alanında bir değer içeriyorsa resmi görüntülediğiniz her yerde ek ilişkilendirmeyi uygulamanıza dahil etmeniz gerekir.