- Giriş
- Bilgi penceresi ekleme
- Bilgi penceresi açma
- Bilgi penceresini kapatma
- Bilgi penceresini taşıma
Giriş
InfoWindow
, içeriği (genellikle metin veya resimler) haritanın üst kısmındaki bir pop-up pencerede belirli bir konumda görüntüler. Bilgi penceresinde bir içerik alanı ve
konnektörlü bir sap vardır. Sapın ucu, haritadaki belirli bir konuma eklenir. Bilgi pencereleri, ekran okuyuculara yönelik bir iletişim kutusu olarak görünür.

Genellikle işaretçiye bir bilgi penceresi eklersiniz. Ayrıca, aşağıdaki bilgi penceresi ekleme bölümünde açıklandığı gibi belirli bir enlem/boylam için de bilgi penceresi ekleyebilirsiniz.
Genel olarak, bilgi pencereleri bir yer paylaşımı türüdür. Diğer yer paylaşımı türleri hakkında bilgi edinmek için Haritada çizim bölümüne göz atın.
Bilgi penceresi ekleme
InfoWindow
oluşturucu, bilgi penceresinin görüntülenmesi için kullanılacak ilk parametreleri belirten
InfoWindowOptions
nesne değişmez değeri alır.
InfoWindowOptions
nesne değişmez değeri aşağıdaki alanları içerir:
content
, bilgi penceresinde görüntülenecek bir metin dizesi veya DOM düğümü içerir.pixelOffset
, bilgi penceresinin ucundan bilgi penceresinin sabitleneceği konuma kadar olan bir ofset içerir. Pratikte bu alanı belirtmeniz gerekmez. Varsayılan değeri olduğu gibi bırakabilirsiniz.position
, bu bilgi penceresinin sabitlendiğiLatLng
öğesini içerir. Not:InfoWindow
öğesi birMarker
nesnesine eklenebilir (bu durumda konumu, işaretçinin konumuna dayalıdır) veya belirtilenLatLng
konumundaki harita üzerine eklenebilir. BirLatLng
almanın yollarından biri, Coğrafi Kodlama hizmetini kullanmaktır. İşaretçi üzerinde bilgi penceresi açıldığındaposition
öğesi otomatik olarak güncellenir.maxWidth
, bilgi penceresinin maksimum genişliğini piksel cinsinden belirtir. Varsayılan olarak, bilgi penceresi içeriğine sığacak şekilde genişler ve bilgi penceresi haritayı doldurduğunda metni otomatik olarak sarmalar. BirmaxWidth
eklerseniz bilgi penceresi, belirtilen genişliği zorunlu kılmak için otomatik olarak sarmalanır. Bilgi, maksimum genişliğe ulaşırsa ve ekranda dikey alan varsa bilgi penceresi dikey olarak genişleyebilir.
InfoWindow
içeriği bir metin dizesi, bir HTML snippet'i veya DOM öğesi içerebilir. İçeriği ayarlamak için InfoWindowOptions
içinde belirtin veya InfoWindow
içinde açıkça setContent()
öğesini arayın.
İçeriği açık bir şekilde boyutlandırmak istiyorsanız bir <div>
öğesine yerleştirebilir ve <div>
öğesini CSS ile biçimlendirebilirsiniz. Kaydırma özelliğini etkinleştirmek için CSS'yi de kullanabilirsiniz. Kaydırma özelliğini etkinleştirmezseniz ve içerik bilgi penceresinde sunulan alanı aşarsa içeriğin bilgi penceresinden dökülebileceğini unutmayın.
Bilgi penceresi açma
Bilgi penceresi oluşturduğunuzda, harita otomatik olarak gösterilmez.
Bilgi penceresini görünür hale getirmek için InfoWindow
üzerinde open()
yöntemini çağırmanız ve aşağıdaki seçenekleri belirten bir InfoWindowOpenOptions
nesnesi iletmeniz gerekir:
map
, açılacak haritayı veya Street View panoramasını belirtir.anchor
bir bağlantı noktası içeriyor (örneğin,Marker
).anchor
seçeneğinull
veya tanımsızsa bilgi özelliğiposition
özelliğinde açılır.
TypeScript
// This example displays a marker at the center of Australia. // When the user clicks the marker, an info window opens. function initMap(): void { const uluru = { lat: -25.363, lng: 131.044 }; const map = new google.maps.Map( document.getElementById("map") as HTMLElement, { zoom: 4, center: uluru, } ); const contentString = '<div id="content">' + '<div id="siteNotice">' + "</div>" + '<h1 id="firstHeading" class="firstHeading">Uluru</h1>' + '<div id="bodyContent">' + "<p><b>Uluru</b>, also referred to as <b>Ayers Rock</b>, is a large " + "sandstone rock formation in the southern part of the " + "Northern Territory, central Australia. It lies 335 km (208 mi) " + "south west of the nearest large town, Alice Springs; 450 km " + "(280 mi) by road. Kata Tjuta and Uluru are the two major " + "features of the Uluru - Kata Tjuta National Park. Uluru is " + "sacred to the Pitjantjatjara and Yankunytjatjara, the " + "Aboriginal people of the area. It has many springs, waterholes, " + "rock caves and ancient paintings. Uluru is listed as a World " + "Heritage Site.</p>" + '<p>Attribution: Uluru, <a href="https://en.wikipedia.org/w/index.php?title=Uluru&oldid=297882194">' + "https://en.wikipedia.org/w/index.php?title=Uluru</a> " + "(last visited June 22, 2009).</p>" + "</div>" + "</div>"; const infowindow = new google.maps.InfoWindow({ content: contentString, ariaLabel: "Uluru", }); const marker = new google.maps.Marker({ position: uluru, map, title: "Uluru (Ayers Rock)", }); marker.addListener("click", () => { infowindow.open({ anchor: marker, map, }); }); } declare global { interface Window { initMap: () => void; } } window.initMap = initMap;
JavaScript
// This example displays a marker at the center of Australia. // When the user clicks the marker, an info window opens. function initMap() { const uluru = { lat: -25.363, lng: 131.044 }; const map = new google.maps.Map(document.getElementById("map"), { zoom: 4, center: uluru, }); const contentString = '<div id="content">' + '<div id="siteNotice">' + "</div>" + '<h1 id="firstHeading" class="firstHeading">Uluru</h1>' + '<div id="bodyContent">' + "<p><b>Uluru</b>, also referred to as <b>Ayers Rock</b>, is a large " + "sandstone rock formation in the southern part of the " + "Northern Territory, central Australia. It lies 335 km (208 mi) " + "south west of the nearest large town, Alice Springs; 450 km " + "(280 mi) by road. Kata Tjuta and Uluru are the two major " + "features of the Uluru - Kata Tjuta National Park. Uluru is " + "sacred to the Pitjantjatjara and Yankunytjatjara, the " + "Aboriginal people of the area. It has many springs, waterholes, " + "rock caves and ancient paintings. Uluru is listed as a World " + "Heritage Site.</p>" + '<p>Attribution: Uluru, <a href="https://en.wikipedia.org/w/index.php?title=Uluru&oldid=297882194">' + "https://en.wikipedia.org/w/index.php?title=Uluru</a> " + "(last visited June 22, 2009).</p>" + "</div>" + "</div>"; const infowindow = new google.maps.InfoWindow({ content: contentString, ariaLabel: "Uluru", }); const marker = new google.maps.Marker({ position: uluru, map, title: "Uluru (Ayers Rock)", }); marker.addListener("click", () => { infowindow.open({ anchor: marker, map, }); }); } window.initMap = initMap;
Örneği Deneyin
Aşağıdaki örnekte, bilgi penceresinin maxWidth
değeri ayarlanmıştır:
örneği görüntüleyin.
Bilgi penceresine odaklanma
Odağı bir bilgi penceresine ayarlamak için focus()
yöntemini çağırın. Odaklanmayı ayarlamadan önce bir visible
etkinliğiyle birlikte bu yöntemi kullanabilirsiniz. Bu yöntemin görünmeyen bir bilgi penceresinde çağırmanın hiçbir etkisi yoktur. Bilgi penceresini görünür hale getirmek için open()
numaralı telefonu arayın.
Bilgi penceresini kapatma
Varsayılan olarak, kullanıcı kapat düğmesini (bilgi penceresinin sağ üst tarafında bir çarpı) tıklayana veya ESC tuşuna basana kadar bilgi penceresi açık kalır.
Bilgi yöntemini close()
yöntemini çağırarak da açıkça kapatabilirsiniz.
Bir bilgi penceresi kapatıldığında odak, bilgi penceresi açılmadan önce odaklanılan öğeye geri döner. Bu öğe kullanılamıyorsa odak tekrar haritaya taşınır. Bu davranışı geçersiz kılmak için closeclick
etkinliğini dinleyebilir ve odağı aşağıdaki örnekte gösterildiği gibi manuel olarak yönetebilirsiniz:
infoWindow.addListener('closeclick', ()=>{ // Handle focus manually. });
Bilgi penceresini taşıma
Bilgi penceresinin konumunu değiştirmenin birkaç yolu vardır:
- Bilgi penceresinden
setPosition()
adlı kişiyi arayın veya - Bilgi yöntemini,
InfoWindow.open()
yöntemini kullanarak yeni bir işaretçiye ekleyin. Not:open()
adlı işaretçiyi işaretlemeden çağırırsanızInfoWindow
, yapım sırasında belirtilen nesneyiInfoWindowOptions
nesne değişmez değeri aracılığıyla kullanır.
Özelleştirme
InfoWindow
sınıfı özelleştirme sunmuyor. Bunun yerine, tamamen özelleştirilmiş bir pop-up'ın nasıl oluşturulacağını görmek için özelleştirilmiş pop-up örneği bölümünü inceleyin.