Genel Bakış
Yerler Kitaplığı, Maps JavaScript API'deki işlevler, uygulamanızın (bu API'de tesisler, coğrafi konumlar ve coğrafi konum yerler veya önemli yerler) hariç, sabit bir noktanın çevresinde olduğu gibi bilgiler sağlayabilirsiniz.
Places API, kullanabileceğiniz bir otomatik tamamlama özelliği sunar. ve uygulamalarınıza Google Haritalar'daki arama yapma ilkesi davranışını sağlamak için arama alanına girebilirsiniz. Kullanıcı bir adres yazmaya başladığında otomatik tamamlama, gerisini doldurun. Daha fazla bilgi için otomatik tamamlama dokümanlarına göz atın.
Başlarken
Maps JavaScript API veya JavaScript'i gözden geçirmenizi ve Önce API anahtarı alın ele alacağız.
API'leri etkinleştir
Maps JavaScript API'de Yerler kitaplığını kullanmadan önce Rehber API'sinin, Google Cloud Console'da projesi için oluşturduğunuz bir testtir.
Etkin API'lerin listesini görüntülemek için:
- Şuraya gidin: Google Cloud Console.
- Proje seçin düğmesini tıklayın, ardından oluşturduğunuz projeyi seçin JavaScript API'sini açın ve Aç'ı tıklayın.
- Kontrol Paneli'ndeki API listesinde, Yerler API'si.
- Listede Places API'yi görürseniz zaten etkinleştirilmiştir. API
listelenmiyor ise, etkinleştirin:
- Sayfanın üst tarafında API'LERİ VE HİZMETLERİ ETKİNLEŞTİR'i seçerek Kitaplık sekmesine gidin. Alternatif olarak sol taraftaki menüden Kitaplık'ı seçin.
- Places API'yi arayın ve sonuç listesi.
- ETKİNLEŞTİR'i seçin. Süreç tamamlandığında Places API, Kontrol paneli.
Kitaplık yükleniyor
Rehber hizmeti, ana kütüphaneden ayrı ve bağımsız bir kitaplıktır.
Maps JavaScript API kodu. Sunulan işlevleri kullanmak için
bu kitaplıkta, önce libraries
parametresi için:
<script async
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&loading=async&libraries=places&callback=initMap">
</script>
Bkz. Kitaplıklara Genel Bakış başlıklı makaleye göz atın.
API anahtarının API kısıtlamaları listesine Places API ekleme
Anahtarlarınıza API kısıtlamaları uygulamak, API anahtarı kullanımını bir veya daha fazla API veya SDK kullanabilirsiniz. API anahtarıyla ilişkilendirilmiş bir API veya SDK'ya yapılan istekler: emin olun. API anahtarıyla ilişkili olmayan API veya SDK'lara yapılan istekler: başarısız olur. Bir API anahtarını Yerler Kitaplığı ile kullanmak üzere kısıtlamak için Maps JavaScript API:- Google Cloud Console'a gidin.
- Proje açılır menüsünü tıklayın ve Güvenli hale getirmek istediğiniz API anahtarı.
- Menü düğmesini tıklayın Google Haritalar Platformu > Kimlik bilgileri.
- Kimlik bilgileri sayfasında API'nin adını tıklayın anahtarı seçin.
- 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 hem Haritalar JavaScript API'yi hem de Places API'yi seçin.
. (API'lerden biri listede yoksa onu etkinleştirmeniz gerekir.)
- KAYDET'i tıklayın.
Kullanım sınırları ve politikalar
Kotalar
Yerler Kitaplığı, Kullanım Sınırları dokümanlarında açıklandığı şekilde Places API'si Yerler API'si.
Politikalar
Yerler Kitaplığı'nın kullanımı için Maps JavaScript API, tanımlanan politikalar hakkında daha fazla bilgi edinin.
Yer Aramaları
Rehber hizmetiyle aşağıdaki türde aramalar yapabilirsiniz:
- Sorgudan Yer Bulma metin sorgusuna (örneğin, isim veya adres gibi bir yerin adı veya adresi) yer alır).
- Telefondan Yer Bulma Sayı, telefon numarasına göre bir yer döndürür.
- Yakında Arama kullanıcının konumuna göre yakındaki yerlerin listesini döndürür.
- Metin Arama bir arama dizesine göre yakındaki yerlerin listesini döndürür, ör. "Pizza".
- Yer Ayrıntısı istekleri belirli bir yer hakkında daha ayrıntılı bilgi verebilir, örneğin kullanıcı yorumları.
Döndürülen bilgiler, restoranlar, mağazalar ve ofisler ile 'coğrafi kod' elde edilir. adresleri, ilçeler ve şehirler gibi politik alanları ve noktaları anlatacağım.
Yer Bulma istekleri
Yer Bulma isteği, bir yeri metin sorgusu veya telefon numarası. İki tür Yer Bulma isteği vardır:
Sorgudan Yer Bulma
Sorgudan Yer Bulma, bir metin girişi alır ve bir yer döndürür. Giriş,
İşletme adı veya adresi gibi herhangi bir Yer verisi olmamalıdır. Bir
Sorgu isteğinden Yer Bulma, PlacesService
öğesini çağır
findPlaceFromQuery()
yöntemini çağırın:
query
(zorunlu) Aranacak metin dizesi, örnek: "restoran" veya "Ana Cadde No: 123". Bu bir yer adı olmalıdır veya kuruluş kategorisi olabilir. Diğer giriş türleri, hatası verir ve geçerli sonuçlar döndüreceği garanti edilmez. Places API bu dizeye göre aday eşleşmeleri döndürür ve sonuçları sıralar bir kitle oluşturabilirsiniz.fields
(zorunlu) Bir veya daha fazla alan döndürülecek Yer verilerinin türlerini belirtme.locationBias
(isteğe bağlı) Arama yapılacak alanı belirleyen koordinatlar. Bu, müşteri görüşlerinin takip etmek için:- Bir dizi enlem/boylam koordinatları LatLngLiteral veya EnlLng nesnesi
- Dikdörtgen sınırlar (iki enl/boy çifti veya bir LatLngBounds nesnesi)
- Enl/Boyl üzerinde ortalanan yarıçap (metre cinsinden)
Ayrıca, findPlaceFromQuery()
işlevine bir geri çağırma yöntemi iletmeniz,
ve google.maps.places.PlacesServiceStatus
öğesini işlemek için
tıklayın.
Aşağıdaki örnekte bir findPlaceFromQuery()
çağrısı gösterilmektedir.
“Avustralya Modern Sanat Müzesi”ni arıyor ve
name
ve geometry
alanları için geçerlidir.
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); } }); }
Telefon Numarasından Yer Bulma
Telefon Numarasından Yer Bulma, bir telefon numarası alıp bir yeri döndürür. Alıcı:
Telefon Numarasından Yer Bulma isteğinde bulunmak için
PlacesService
adlı kişinin findPlaceFromPhoneNumber()
yöntemini çağırın:
phoneNumber
(zorunlu) E.164 biçiminde bir telefon numarası.fields
(zorunlu) Bir veya daha fazla alan döndürülecek Yer verilerinin türlerini belirtme.locationBias
(isteğe bağlı) Alanı tanımlayan koordinatlar arayın. Aşağıdakilerden biri olabilir:- Bir dizi enlem/boylam koordinatları LatLngLiteral veya EnlLng nesnesi
- Dikdörtgen sınırlar (dört enlem/lng noktası veya bir LatLngBounds nesnesi)
- Enl/Boyl üzerinde ortalanan yarıçap (metre cinsinden)
Ayrıca, findPlaceFromPhoneNumber()
işlevine bir geri çağırma yöntemi iletmeniz,
ve google.maps.places.PlacesServiceStatus
öğesini işlemek için
tıklayın.
Alanlar (Yer Bulma yöntemleri)
Döndürülecek yer verisi türleri dizisini belirtmek için fields
parametresini kullanın.
Örnek: fields: ['formatted_address', 'opening_hours', 'geometry']
.
Bileşik değerleri belirtirken nokta kullanın. Örnek: opening_hours.weekday_text
.
Alanlar, Yer Arama sonuçlarına karşılık gelir ve bölünür.
üç faturalandırma kategorisine ayrılır: Temel, Kişi ve Atmosfer. Temel alanlar
faturalandırılır ve ek ücret alınmaz. İletişim ve Atmosfer
alanları daha yüksek ücretle faturalandırılır. Fiyatlandırma sayfasını inceleyin
konulu videomuzu izleyin. İlişkilendirmeler (html_attributions
) her zaman
her çağrıda döndürülür. Alanın en iyi şekilde çalışıp çalışmadığını
istendi.
Temel
Temel kategorisi aşağıdaki 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 kategorisi aşağıdaki alanı içerir:opening_hours
(kullanımdan kaldırıldı Maps JavaScript API'de bulabilirsiniz. Şurayı görmek için Yer Ayrıntısı isteğini kullanın:
opening_hours
sonuç).
Atmosfer
Atmosfer kategorisi aşağıdaki alanları içerir:price_level
, rating
user_ratings_total
findPlaceFromQuery()
ve
findPlaceFromPhoneNumber()
yöntemin her biri aynı
ve ilgili yanıtlarda aynı alanları döndürebilir.
Konum ağırlıklandırmasını ayarlama (Yer Bulma yöntemleri)
Yer Bulma tercih sonuçları elde etmek için locationBias
parametresini kullanın
göz atmanızı öneririm. locationBias
ayarlarını şuralarda yapabilirsiniz:
yöntemler:
Belirli bir alan için yanlılık sonuçları:
locationBias: {lat: 37.402105, lng: -122.081974}
Arama yapılacak dikdörtgen bir alan tanımlayın:
locationBias: {north: 37.41, south: 37.40, east: -122.08, west: -122.09}
LatLngBounds değeri de kullanabilirsiniz.
Belirli bir alanı merkez alarak arama yapmak için bir yarıçap (metre cinsinden) tanımlayın:
locationBias: {radius: 100, center: {lat: 37.402105, lng: -122.081974}}
Yakındaki Arama İstekleri
Yakındaki Arama özelliği ile belirli bir alandaki yerleri veya türe göre değişiyor. Yakındaki Arama her zaman, şunları yapabilecek bir konum içermelidir: iki yöntemden biriyle belirtilmelidir:
-
LatLngBounds
. location
işlevinin kombinasyonu olarak tanımlanan dairesel bir alan özellik — dairenin merkeziniLatLng
nesne ve metre cinsinden ölçülen bir yarıçap.
Yakındaki Yerler araması,
PlacesService
adlı kullanıcının nearbySearch()
yöntemi. Bu yöntem
şu diziyi döndür:
PlaceResult
nesne algılandı. nearbySearch()
yöntemi, sürüm 3.9 itibarıyla search()
yönteminin yerini almaktadır.
service = new google.maps.places.PlacesService(map); service.nearbySearch(request, callback);
Bu yöntemde, aşağıdaki alanlara sahip bir istek alınır:
- Şunlardan birini yapın:
bounds
değeri geçerli olmalıdır. Dikdörtgeni tanımlayangoogle.maps.LatLngBounds
nesnesi alanı seçin. Sınırlar için desteklenen maksimum köşegen mesafe yaklaşık 100.000 metrelik bir alanı kapsayabilir.location
veradius
; ilk başta birgoogle.maps.LatLng
nesne, ikincisi ise basit bir Dairenin yarıçapını metre cinsinden temsil eden tam sayı. Maksimum izin verilen yarıçap 50.000 metredir.rankBy
DISTANCE olarak ayarlandı, birlocation
ancak birradius
belirtemezsiniz veyabounds
.
keyword
(isteğe bağlı) — Eşleştirilecek bir terim dahil ancak bunlarla sınırlı olmamak üzere, tüm kullanılabilir alanlarda yanı sıra müşteri yorumları ve diğer üçüncü taraf içerikleri de dahil edilir.minPriceLevel
maxPriceLevel
(isteğe bağlı): Sonuçları yalnızca şu konumdaki yerlerle sınırlar: belirtilen aralık. Geçerli değerler aralığı: 0 (en uygun fiyatlı) - 4 (en pahalı) arasında.name
Desteği sonlandırıldı.keyword
yönergesine eşdeğer. Değerler bu alandaki değerler,keyword
alanındaki değerlerle birleştirilir. ve aynı arama dizesinin parçası olarak geçirilir.openNow
(isteğe bağlı): Boole değeri, Rehber hizmetinin yalnızca sorgu gönderildiğinde açık olan işletmelerdir. Bunu gerçekleştirmeyen yerler Google Rehber veritabanındaki çalışma saatlerini belirtme bu parametreyi sorgunuza dahil ederseniz döndürülür. AyaropenNow
ilefalse
işleminin herhangi bir etkisi yoktur.rankBy
(isteğe bağlı) — Sırayı şurada belirtir: hangi sonuçların listelendiğini görebilirsiniz. Olası değerler:google.maps.places.RankBy.PROMINENCE
(varsayılan). Bu seçeneği, sonuçları önem derecelerine göre sıralar. Sıralama, belirlenen yarıçap içinde kalan belirgin yerleri, yakındaki yerlere tercih edin daha az belirgin olan yerlere ekleyebilirsiniz. Belirginlik bir yerin Google dizinindeki sıralamasından, dünya genelindeki popülerliğinden, ve diğer faktörler. Zamangoogle.maps.places.RankBy.PROMINENCE
radius
parametresinin kullanılması gerekir.google.maps.places.RankBy.DISTANCE
Bu seçenek sonuçları belirtilen uzaklığa göre artan düzende sıralarlocation
(zorunlu). Belirtebileceğiniz bir özelbounds
ve/veyaradius
RankBy.DISTANCE
belirtin. BelirttiğinizdeRankBy.DISTANCE
, bir veya daha fazlakeyword
,name
veyatype
gereklidir.
type
— Şu özelliği kısıtlar: sonuçları belirtilen türle eşleşen yerlere gösterir. Yalnızca bir tür belirtilir (birden fazla tür sağlanırsa birinci türden sonraki tüm türler) girişi yoksayılır). desteklenir.
Ayrıca, şunu yapmak için nearbySearch()
öğesine bir geri çağırma yöntemi iletmeniz gerekir:
sonuç nesnesini işleyip
google.maps.places.PlacesServiceStatus
yanıt.
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 Rehber Metin Arama hizmeti, bir dizeye dayalı olarak bir yer kümesi hakkında bilgiler; örneğin, "İstanbul'da pizza" veya "İstanbul yakınındaki ayakkabı mağazaları" gibi bir arama yapabilirsiniz. Hizmet, metin dizesiyle eşleşen yerlerin bir listesi ve ayarlandı. Arama yanıtı bir yer listesi içerir. Gönderebileceğiniz Şuradaki yerlerden herhangi biri hakkında daha fazla bilgi almak için Yer Ayrıntılarını isteme: tıklayın.
Metin Aramaları,
PlacesService
öğesinin textSearch()
yöntemi.
service = new google.maps.places.PlacesService(map); service.textSearch(request, callback);
Bu yöntemde, aşağıdaki alanlara sahip bir istek alınır:
query
(zorunlu) İşlemin yapılacağı metin dizesi Örneğin, "restoran" araması yapabilirsiniz. veya "Ana Cadde No: 123". Bu bir yer olmalıdır kuruluş adı, adresi veya kategorisi. Diğer giriş türleri hata oluşturur ve geçerli sonuçlar döndüreceği garanti edilmez. Yerler hizmeti bu dizeye göre aday eşleşmeleri döndürür ve alaka düzeyine göre otomatik olarak gösterir. Bu parametre isteğe bağlı hale gelirtype
parametresi arama isteğinde de kullanılırsa.- İsteğe bağlı olarak:
openNow
— Boole değeri, Rehber hizmetinin yalnızca sorgu gönderildiğinde açık olan işletmelerdir. Bunu gerçekleştirmeyen yerler Google Rehber veritabanındaki çalışma saatlerini belirtme bu parametreyi sorgunuza dahil ederseniz döndürülür. AyaropenNow
ilefalse
işleminin herhangi bir etkisi yoktur.minPriceLevel
maxPriceLevel
— Sonuçları, yalnızca şu konumdaki yerlerle kısıtlar: belirtilen fiyat düzeyinde. Geçerli değerler 0 aralığındadır (en uygun fiyatlı) - 4 (en pahalı) arasında.- Şunlardan birini yapın:
bounds
değeri geçerli olmalıdır. Dikdörtgeni tanımlayangoogle.maps.LatLngBounds
nesnesi alanı seçin. Sınırlar için desteklenen maksimum köşegen mesafe yaklaşık 100.000 metrelik bir alanı kapsayabilir.location
veradius
— Şunları yapabilirsiniz: belirli bir daire içine alacak sapmayılocation
ve birradius
parametresi. Bu, Rehber hizmetine, o hedefin içindeki sonuçları göstermeyi ekleyin. Tanımlanan alanın dışındaki sonuçlar gösterilmeye devam edebilir. Konum birgoogle.maps.LatLng
nesne alır ve yarıçap, dairenin yarıçapını temsil eden basit bir tam sayı alır metre cinsinden. İzin verilen maksimum yarıçap 50.000 metredir.
type
— Sonuçları, eşleşen yerlerle kısıtlar belirtilen tür. Yalnızca bir tür belirtilebilir (birden fazla türse türü sağlanırsa ilk girişten sonraki tüm türler yoksayılır). Görüntüleyin desteklenen türlerin listesine göz atın.
Ayrıca, şunu yapmak için textSearch()
öğesine bir geri çağırma yöntemi iletmeniz gerekir:
ve bir
google.maps.places.PlacesServiceStatus
yanıt.
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,
ve hata ayıklama bilgilerini içerebilir. Ayrıca, bu sorunda
yer isteğinin neden başarısız olduğu. 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ı, isteğini yerine getirdi kota.REQUEST_DENIED
: Web sayfasının Yerler Hizmeti.UNKNOWN_ERROR
: PlacesService isteği başarısız oldu işlendi. 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
PlaceResult
nesne algılandı.
Her PlaceResult
nesnesi aşağıdaki özellikleri içerebilir:
business_status
, operasyonel ve bu yer bir işletmeyse o yerin durumu. Aşağıdakilerden birini içerebilir: şu değerlere sahiptir:OPERATIONAL
CLOSED_TEMPORARILY
CLOSED_PERMANENTLY
business_status
döndürülmez.formatted_address
, okunabilir öğeleri içeren bir dizedir bu yerin adresi.formatted_address
özelliği yalnızca Metin Arama için döndürüldü.Bu adres genellikle posta adresine eşdeğerdir. Bazı Birleşik Krallık gibi ülkelerde, doğru lisans kısıtlamaları nedeniyle posta adresi.
Biçimlendirilmiş adres mantıksal olarak bir veya daha fazla adresinden oluşur. bileşenleri hakkında daha fazla bilgi edinin. Örneğin, "111 8. Cadde, İstanbul, Türkiye" adresi şu bileşenlerden oluşur: "111" (bina numarası), "8. Cadde" (rota), "New York" (şehir) ve "NY" (ABD eyaleti).
Biçimlendirilmiş adresi programlı olarak ayrıştırmayın. Bunun yerine API yanıtına ek olarak dahil edilen bağımsız adres bileşenleri ekler.
geometry
: Yerin geometriyle ilgili bilgileri. Bu şunları içerir:location
, yer.viewport
, aşağıdaki durumlarda harita üzerinde tercih edilen görüntü alanını tanımlar: bu yeri görüntülüyorsunuz.
permanently_closed
(kullanımdan kaldırıldı) yerin kapatılıp kapatılmadığını gösteren bir boole işaretidir. (değertrue
) kalıcı veya geçici olarak devre dışı bırakılabilir. Kullanmapermanently_closed
Bunun yerinebusiness_status
kullanın. bilgi edinmek için kullanılabilir.plus_code
(bkz. Konum Kodunu Aç ve artı kodları) ekleyin. enlem ve boylam koordinatlarından türetilmiş kodlanmış bir konum referansıdır bir alanı ifade eder: derecenin 1/8000'i x 1/8000'i kadar (ekvatorda yaklaşık 14 m x 14 m) veya daha küçük olmalıdır. Artı kodları, mevcut olmadıkları yerlerde (binaların numaralandırılmamış veya numaralandırılmayan yerlerdeki açık adresleri) sokaklar adlandırılmamış).Plus code, genel kod ve bileşik kod olarak biçimlendirilmiştir:
global_code
, 4 karakterli alan kodu ve 6 karakter veya daha uzun bir yerel koddur (849VCWC8+R9).compound_code
, açık bir konuma sahip 6 karakter veya daha uzun bir yerel koddur (CWC8+R9, Mountain View, CA, ABD). Bu içeriği programlı bir şekilde ayrıştırmayın.
html_attributions
: Yapmanız gereken bir ilişkilendirme dizisi görüntülenir. Dizideki her giriş, tek bir ilişkilendirmeye ilişkin HTML metni. Not: Bu, toplamıdır. Tümü Bu nedenle yanıttakiPlaceResult
nesne benzersiz olması gerekir.icon
, 71 x 71 piksel boyutlarında renkli bir PNG simgesinin URL'sini döndürür.icon_mask_base_uri
, renksiz bir öğenin temel URL'sini döndürür .svg veya .png uzantısı çıkarılmış olmalıdır.icon_background_color
, şunun için varsayılan HEX renk kodunu döndürür: yeri seçin.name
: Yerin adı.opening_hours
, şu bilgileri içerebilir:open_now
, yerin şu olup olmadığını gösteren bir boole değeridir: şu anda açık (Kullanımdan kaldırıldı Haritalar JavaScript API'sindeutc_offset_minutes
kullanın ).
place_id
, benzersiz bir şekilde tanımlayan metinsel bir tanımlayıcıdır yer. Yer hakkında bilgi almak için bu tanımlayıcıyı Yer Ayrıntıları isteyebilirsiniz. Bir yere referans verme hakkında daha fazla bilgi edinin girin.rating
, yerin derecelendirmesini içerir (örneğin, 0,0 ile 5,0 arasında) elde edebilirsiniz.types
Bir dizi bu yer için türler (ör.["political", "locality"]
veya["restaurant", "lodging"]
) tıklayın. Bu dizi, birden fazla değer içerebilir veya boştur. Yeni değerler önceden bildirilmeksizin sunulabilir. Şu listeye bakın: desteklenen türlere tabidir.vicinity
: Yerin basitleştirilmiş adresi. Bu adres şunları içerir: sokak adı, sokak numarası ve semt gibi bilgileri kullanabilirsiniz. il/eyalet, posta kodu veya ülke. Örneğin, Google'ın Sidney Avustralya ofisi,5/48 Pirrama Road, Pyrmont
olanvicinity
değerine sahiptir.
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 60'a kadar sonuç döndürebilir.
Daha fazla sayfaya PlaceSearchPagination
üzerinden ulaşabilirsiniz
nesnesini tanımlayın. Ek sayfalara erişmek için
PlaceSearchPagination
nesnesini ifade eder. İlgili içeriği oluşturmak için kullanılan
PlaceSearchPagination
nesnesi şu şekilde tanımlanır:
hasNextPage
daha ileri sonuç mevcut. Ek bir teklif olduğundatrue
sonuç sayfası.nextPage()
sonraki kümeyi döndürecek bir işlev sonuç. Bir arama yürüttükten sonra iki saniye sonra kullanılabilir hale gelecektir.
Bir sonraki sonuç grubunu görmek için nextPage
numaralı telefonu arayın.
Sonuçların her sayfası, arama teriminin sonraki sayfası görüntülenmeden önce görüntülenmelidir.
sonuç. Her bir aramanın,
izin verir.
Aşağıdaki örnekte, geri çağırma işlevinizi
yayınlayabilmeniz için PlaceSearchPagination
nesnesini yakalama
Birden çok arama isteği.
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ı
Yerler, bir bölgedeki yerlerin bir listesini sağlamanın yanı sıra, belirli bir yer hakkında ayrıntılı bilgi de verebilir. Bir kez bir yer bir yer arama yanıtında döndürüldüyse, yer kimliği, ek ayrıntı istemek için kullanılabilir (ör. tam adresi, telefon numarası, kullanıcı puanı) o yerle ilgili ve yorumlar vb.
Yer Ayrıntısı İstekleri
Yer Ayrıntıları, hizmetin
getDetails()
yöntemini çağırın.
service = new google.maps.places.PlacesService(map); service.getDetails(request, callback);
Bu yöntem, istenen yerin
placeId
ve hangi tür Yerler verisi türlerini belirten alanlar
geri dönüyor. Daha fazla bilgi:
yer kimliğiyle bir yere referans verme hakkında daha fazla bilgi edinin.
Ayrıca, iletilen durum kodunu işlemesi gereken bir geri çağırma yöntemi alır.
google.maps.places.PlacesServiceStatus
yanıtında da
aynı google.maps.places.PlaceResult
nesnesi olabilir.
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ürleri dizisini belirtmek için fields
parametresini kullanın.
Örnek: fields: ['address_components', 'opening_hours', 'geometry']
.
Bileşik değerleri belirtirken nokta kullanın. Örnek: opening_hours.weekday_text
.
Alanlar, Yer Ayrıntılarına karşılık gelir
sonuçları üç faturalandırma kategorisine ayrılır: Temel, İletişim ve
Atmosfer. Temel alanlar, taban ücretle faturalandırılır ve ek ücret ödemez.
anlamına gelir. Kişi ve Atmosfer alanları daha yüksek ücretle faturalandırılır. Fiyatlandırma sayfasını inceleyin
konulu videomuzu izleyin. İlişkilendirmeler (html_attributions
) her zaman
istenip istenmediğinden bağımsız olarak her çağrıda döndürülür.
Temel
Temel kategorisi aşağıdaki alanları içerir:
address_components
, 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
(kullanımdan kaldırıldı
, Maps JavaScript API), utc_offset_minutes
,
vicinity
İletişim
Kişi kategorisi aşağıdaki alanları içerir:
formatted_phone_number
international_phone_number
,
website
opening_hours
Atmosfer
Atmosfer kategorisi aşağıdaki alanları içerir:
price_level
, rating
, reviews
,
user_ratings_total
Daha fazla bilgi: yer alanlarına ekleyin. Daha fazla Yer verisi isteklerinin nasıl faturalandırıldığına ilişkin bilgi için bkz. Kullanım ve Faturalandırma.
Yer Ayrıntılarıyla İlgili Yanıtlar
Durum Kodları
PlacesServiceStatus
yanıt nesnesi,
ve hata ayıklama bilgilerini içerebilir. Ayrıca, bu sorunda
Yer Ayrıntısı isteğinin neden başarısız olduğu. 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ı, isteğini yerine getirdi kota.NOT_FOUND
Referans verilen konum şu değildi Rehber veritabanında bulundu.REQUEST_DENIED
: Web sayfasının Yerler Hizmeti.UNKNOWN_ERROR
: PlacesService isteği başarısız oldu işlendi. Tekrar denerseniz istek başarılı olabilir.ZERO_RESULTS
: Bu istek için sonuç bulunamadı.
Yer Ayrıntıları Sonuçları
Başarılı bir getDetails()
araması,
Aşağıdaki özelliklere sahip PlaceResult
nesnesi:
address_components
: Ayrı bu adres için geçerli olan bileşenleri içerir.Her adres bileşeni genellikle aşağıdaki alanları içerir:
types[]
, türünü gösteren bir dizidir adres bileşeni. Şu listeye bakın: desteklenen türlere tabidir.long_name
, adres bileşeninin her bir adımını içerir.short_name
, adres için kısaltılmış bir metin adıdır bileşenini (varsa) çağırın. Örneğin, eyalet için bir adres bileşeni için sahip olduğulong_name
oranında "Alaska" veshort_name
/"AK" kullanın.
address_components[]
ile ilgili aşağıdaki gerçeklere dikkat edin dizi:- Adres bileşenleri dizisi,
formatted_address
- Bu dizi,
aşağıda belirtilenlerin dışında bir adres içeren
formatted_address
Tüm siyasi varlıkları geri almak için veya belirli bir adres içerenler varsa ters coğrafi kodlamayı, isteğin bir parametresi olarak adresin enlem/boylamı. - Yanıt biçiminin
kabul edersiniz. Özellikle,
address_components
sayısı talep edilen adrese göre değişir ve zaman içinde aynı adrese sahip olmalıdır. Bir bileşen, dizideki konumunu değiştirebilir. Bileşenin türü değişebilir. Belirli bir bileşen, yanıt veremeyebilirsiniz.
business_status
, operasyonel ve bu yer bir işletmeyse o yerin durumu. Aşağıdakilerden birini içerebilir: şu değerlere sahiptir:OPERATIONAL
CLOSED_TEMPORARILY
CLOSED_PERMANENTLY
business_status
döndürülmez.formatted_address
: Bu yerin kullanıcılar tarafından okunabilen adresi.Bu adres genellikle posta adresine eşdeğerdir. Bazı Birleşik Krallık gibi ülkelerde, doğru lisans kısıtlamaları nedeniyle posta adresi.
Biçimlendirilmiş adres mantıksal olarak bir veya daha fazla adresinden oluşur. bileşenleri hakkında daha fazla bilgi edinin. Örneğin, "111 8. Cadde, İstanbul, Türkiye" adresi şu bileşenlerden oluşur: "111" (bina numarası), "8. Cadde" (rota), "New York" (şehir) ve "NY" (ABD eyaleti).
Biçimlendirilmiş adresi programlı olarak ayrıştırmayın. Bunun yerine API yanıtına ek olarak dahil edilen bağımsız adres bileşenleri ekler.
formatted_phone_number
: Yerin telefon numarası (biçimlendirilmiş) uyarınca numaranın bölgesel kurallarını kullanın.geometry
: Yerin geometriyle ilgili bilgileri. Bu şunları içerir:location
, yer.viewport
, aşağıdaki durumlarda harita üzerinde tercih edilen görüntü alanını tanımlar: bu yeri görüntülüyorsunuz.
permanently_closed
(kullanımdan kaldırıldı) yerin kapatılıp kapatılmadığını gösteren bir boole işaretidir. (değertrue
) kalıcı veya geçici olarak devre dışı bırakılabilir. Kullanmapermanently_closed
Bunun yerinebusiness_status
kullanın. bilgi edinmek için kullanılabilir.plus_code
(bkz. Konum Kodunu Aç ve artı kodları) ekleyin. enlem ve boylam koordinatlarından türetilmiş kodlanmış bir konum referansıdır bir alanı ifade eder: derecenin 1/8000'i x 1/8000'i kadar (ekvatorda yaklaşık 14 m x 14 m) veya daha küçük olmalıdır. Artı kodları, mevcut olmadıkları yerlerde (binaların numaralandırılmamış veya numaralandırılmayan yerlerdeki açık adresleri) sokaklar adlandırılmamış).Plus code, genel kod ve bileşik kod olarak biçimlendirilmiştir:
global_code
, 4 karakterli alan kodu ve 6 karakter veya daha uzun bir yerel koddur (849VCWC8+R9).compound_code
, açık bir konuma sahip 6 karakter veya daha uzun bir yerel koddur (CWC8+R9, Mountain View, CA, ABD). Bu içeriği programlı bir şekilde ayrıştırmayın.
html_attributions
: Şunun için görüntülenecek atıf metni: bu yer sonucu.icon
: Şu işlemler için kullanılabilecek bir resim kaynağının URL'si: bu yerin türünü temsil ediyor.international_phone_number
, bu yerin telefonunu içeriyor kullanabilirsiniz. Uluslararası biçim ülke bilgisini de içerir kodudur ve önünde artı (+) işareti bulunur. Örneğin, Google'ın Sidney şehri içininternational_phone_number
ofis adresi:+61 2 9374 4000
.name
: Yerin adı.utc_offset
Kullanımdan kaldırıldı Bunun yerine, Maps JavaScript API'deutc_offset_minutes
kullanın.utc_offset_minutes
, bu etkinliğin dakika sayısını içeriyor yerin geçerli saat dilimi UTC ile arasındaki farktır. Örneğin, Türkiye’deki Sidney, Avustralya'da yaz saati uygulaması sırasında bu değer 660 (+11 saat) (UTC'den) ve Kaliforniya'da yaz saati dışında kalan yerler için bu, -480 (UTC'den -8 saat) olacaktır.opening_hours
, şu bilgileri içeriyor:open_now
(Kullanımdan kaldırıldı Yerler Kitaplığı, Maps JavaScript API'de; kullan opening_hours.isOpen() işlevini kullanın. Nasıl kullanacağınızı öğrenmek için bu videoyu izleyin. Yer AyrıntılarıylaisOpen
.) yerin şu anda açık olup olmadığını gösteren bir boole değeridir gerekir.periods[]
, yediyi kapsayan bir açılış dönemi dizisidir gün içinde kronolojik sırada gösterilir. Her dönem şunu içerir:open
, bir çift gün ve saat nesnesi içeriyor mekanın ne zaman açıldığını öğrenme:day
, günlere karşılık gelen 0-6 arasında bir sayı belirli bir süre için sunulacak. Örneğin, 2, Salı.time
, günün saatini 24 saat ssdd biçiminde içerebilir biçiminde (değerler 0000–2359 aralığındadır). İlgili içeriği oluşturmak için kullanılantime
, ilgili yerin saat diliminde raporlanacak.
close
, bir çift gün ve saat nesnesi içerebilir yer kapanıyor. Not: Bir yer her zaman açık iseclose
bölümü eksik olabilir. Uygulamalar her zaman açık olabilir. içerenopen
dönemi olarak temsil edilir değeri 0 vetime
değeri 0000 olanday
,close
yok.
weekday_text
, aşağıdakileri temsil eden yedi dizeden oluşan bir dizidir haftanın her günü için biçimlendirilmiş çalışma saatleridir. Yer Ayrıntıları'ndalanguage
parametresi belirtildi için, Rehber Hizmeti, açılış saatlerini biçimlendirip yerelleştirecektir. uygun olmasını sağlayabilirsiniz. Buradaki öğelerin sıralaması, dizisi,language
parametresine bağlıdır. Bazı diller hafta pazartesi günü, diğerlerinin pazar günü başlar.
permanently_closed
(kullanımdan kaldırıldı) yerin kapatılıp kapatılmadığını gösteren bir boole işaretidir. (değertrue
) kalıcı veya geçici olarak devre dışı bırakılabilir. Kullanmapermanently_closed
Bunun yerinebusiness_status
kullanın. bilgi edinmek için kullanılabilir.photos[]
:PlacePhoto
nesneden oluşan bir dizi.PlacePhoto
özelliği,getUrl()
yöntemini kullanabilir veya nesnede şu değerlere sahiptir:height
: resmin piksel cinsinden maksimum yüksekliği.width
: resmin piksel cinsinden maksimum genişliği.html_attributions
: Gösterilecek atıf metni bu yer fotoğrafıyla.
place_id
: Bir kullanıcıyı benzersiz bir şekilde tanımlayan metinsel bir tanımlayıcı yer alır ve bir web sitesi aracılığı ile söz konusu yer hakkında bilgi Yer Ayrıntıları isteyin. Bir yere referans verme hakkında daha fazla bilgi edinin girin.rating
: Yerin 0, 0 ile 5, 0 arasındaki puanı. toplu kullanıcı yorumları.reviews
(beş adede kadar yorumdan oluşan dizi). Her yorum birkaç bileşenden oluşur:aspects[]
, Her biri bir sağlayanPlaceAspectRating
nesne derecelendirmesi. İlk nesne birincil özellik olarak kabul edilir. Her biriPlaceAspectRating
şu şekilde tanımlanır:type
değerlendirilen özelliğin adı. Şu türler desteklenir:appeal
,atmosphere
decor
,facilities
,food
,overall
,quality
veservice
.rating
kullanıcının bu özel için puanı en boy oranı (0 ile 3 arasında).
author_name
yorum yazın. Anonim yorumlar "Bir Google kullanıcısı" olarak ilişkilendirilir. dil parametresinin ayarlandığını ve ardından "Bir Google kullanıcısı" kelime öbeğini şunu içerecek: yerelleştirilmiş bir dize döndürür.author_url
, kullanıcının Google+ profilinin URL'sini kullanılabilir.language
dili belirten bir IETF dil kodu kullanıcının yorumunda kullanılır. Bu alan ana dil etiketini içerir (ülke veya bölgeyi belirten ikincil etiket ile değil) girin. Örneğin, Örneğin, İngilizce yorumların tümü "en-AU" olarak değil, 'en' şeklinde etiketlenir. veya "en-UK" vb.rating
kullanıcının bu yer için genel puanı. Bu 1 ile 5 arasında bir tam sayıdır.text
(kullanıcının yorumu). Bir Google Rehber'de konum ile ilgili metin yorumları isteğe bağlı olarak değerlendirilir; bu nedenle bu alan boş olabilir.
types
Bir dizi bu yer için türler (ör.["political", "locality"]
veya["restaurant", "lodging"]
) tıklayın. Bu dizi, birden fazla değer içerebilir veya boştur. Yeni değerler önceden bildirilmeksizin sunulabilir. Şu listeye bakın: desteklenen türleri ziyaret edin.url
: Buna ait resmi Google sayfasının URL'si yer. Bu sayfa, Google'ın sahip olduğu en iyi arama bilgileri görmek için kullanabilirsiniz. Uygulamalar bağlanmalı veya yerleştirilmelidir bu sayfayı ziyaret ederek, söz konusu yerle ilgili ayrıntılı sonuçları belirtir.vicinity
: Yerin basitleştirilmiş adresi. Bu adres şunları içerir: sokak adı, sokak numarası ve semt gibi bilgileri kullanabilirsiniz. il/eyalet, posta kodu veya ülke. Örneğin, Google'ın Sidney Avustralya ofisi,5/48 Pirrama Road, Pyrmont
olanvicinity
değerine sahiptir.vicinity
özelliği yalnızca döndürülür Yakında Arama araması yapabilirsiniz.website
bu yerle ilgili yetkili web sitesini listeliyor; örneğin işletme olarak ana sayfa.
Not: Çok boyutlu derecelendirmeler, tüm konumlar. Çok az sayıda yorum varsa ayrıntılar yanıtı varsa 0,0 ile 5,0 arasında eski bir derecelendirme içermeli ya da hiç derecelendirme içermemelidir hiç önemli değil.
Yere Genel Bakış bileşenini kullanma
Not: Bu örnekte açık kaynak bir kitaplık kullanılmaktadır. Bkz. Destek için README geri bildirim almaktır.
Web bileşenlerini deneyin. Yere Genel Bakış web bileşenini kullanarak yer ayrıntılarını görsel bir temsille görüntüleyin.
Yer Kimliğiyle Bir Yere Referans Verme
Yer kimliği, Google Haritasındaki bir yere ait benzersiz bir referanstır. Yer kimlikleri işletmeler, önemli noktalar, parklar ve mağazalar dahil birçok konumda kullanılabilir bir sütun var.
Uygulamanızda yer kimliği kullanmak için öncelikle
Yer Arama veya Ayrıntılar isteğinin PlaceResult
bölümünde mevcut.
Daha sonra, arama yapmak için
Yer
Ayrıntılar.
Yer kimlikleri, belirtilen önbelleğe alma kısıtlamalarından muaftır. bu Sözleşme'nin Bölüm 3.2.3(b) Google Haritalar Platformu Hizmet Şartları. Bu nedenle, yer kimliği değerlerini daha sonra kullanmak üzere saklayabilirsiniz. Örneğin, en iyi uygulamalarla ilgili daha fazla bilgi edinmek için yer kimliğine genel bakış.
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, yüksek kaliteli fotoğraflar eklemenize olanak tanır. daha iyi hale getirir. Fotoğraf hizmeti milyonlarca fotoğrafa ve Google Rehber ve Google+ Yerel veritabanında depolanan fotoğraflar. Yer aldığınızda Yer Ayrıntısı isteği kullanılan bir fotoğraf, fotoğraf alakalı fotoğraf içeriği için referanslar döndürülür. Yakındaki Arama Ayrıca, Metin Arama istekleri her yer için tek bir fotoğraf referansı da döndürür. emin olun. Daha sonra Fotoğraf hizmetini kullanarak referans verilen fotoğraflara ve resmi uygulamanız için optimum boyuta yeniden boyutlandırın.
PlacePhoto
nesne dizisi, şunun parçası olarak döndürülür:
Herhangi bir getDetails()
için PlaceResult
nesnesi,
textSearch()
veya
PlacesService
ile ilgili nearbySearch()
istek gönderildi.
Not: Döndürülen fotoğrafların sayısı isteğe bağlı olarak değişir.
- Yakındaki Arama veya Metin Arama en fazla bir sonuç döndürür
PlacePhoto
nesne algılandı. - Ayrıntılar isteği on adede kadar
PlacePhoto
nesne döndürür.
Şunu çağırarak ilişkili resmin URL'sini isteyebilirsiniz:
PlacePhoto.getUrl()
yöntemini kullanmak ve geçerli bir
PhotoOptions
nesne algılandı. PhotoOptions
nesnesi,
resmin istediğiniz maksimum yüksekliğini ve genişliğini belirtmenizi sağlar. Şu durumda:
hem maxHeight
hem de maxWidth
için bir değer belirtin.
fotoğraf hizmeti, resmi iki boyuttan daha küçük olacak şekilde yeniden boyutlandırır.
korunduğundan emin olun.
Aşağıdaki kod snippet'i bir yer nesnesini kabul eder ve buna bir işaretçi ekler Haritalar'ı tıklayın. Varsayılan işaretçi resmi değiştirilir fotoğrafın küçük bir versiyonunu kullanabilirsiniz.
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ğraflar hizmeti tarafından döndürülen fotoğraflar çeşitli kaynaklardan alınır.
(işletme sahipleri ve kullanıcıların katkıda bulunduğu fotoğraflar dahil) Çoğu zaman
durumlarda, bu fotoğraflar atıf yapılmadan kullanılabilir veya
atıf. Ancak, döndürülen
photo
öğesi
html_attributions
alanına, ek
özelliğini kullanabilirsiniz.