popover
menampilkan konten (biasanya teks atau gambar) dalam jendela dialog di atas peta, di
lokasi tertentu. Popover memiliki area konten dan batang meruncing. Ujung batang dilekatkan ke lokasi yang ditentukan pada peta. Popover muncul sebagai
dialog untuk pembaca layar.
Biasanya Anda akan melampirkan popover ke penanda
interaktif,
tetapi Anda juga dapat melampirkan popover ke koordinat LatLngAltitude
tertentu, atau
mengimbangkannya
dari penanda.
Menambahkan popover
Konstruktor
PopoverElement
menggunakan literal objek
PopoverElementOptions
, yang menentukan parameter awal untuk menampilkan
popover.
Literal objek PopoverElementOptions
berisi kolom berikut:
positionAnchor
: PosisiLatLngAltitude
tempat penanda akan ditampilkan. Jika menggunakan penanda, posisi penanda akan digunakan sebagai gantinya.altitudeMode
: Cara penafsiran ketinggian popover.lightDismissDisabled
: Apakah popover tetap terbuka saat pengguna mengklik di luar popover, atau menekan tombolEsc
. Jika opsi ini disetel ketrue
, beberapa popoverlightDismissDisabled
dapat ditampilkan di peta secara bersamaan.open
: Menentukan apakah popover harus terbuka atau tidak. Nilai defaultnya adalahfalse
.
Konten PopoverElement
dapat berisi string teks, cuplikan HTML, atau elemen DOM. Anda menetapkan konten dengan menambahkannya ke
PopoverElement
secara eksplisit di slot header
atau default
.
Jika ingin mengukur konten secara eksplisit, Anda dapat menempatkannya dalam elemen <div>
dan memberi gaya <div>
dengan CSS. Popover dapat di-scroll secara default, dan memiliki tinggi maksimum yang telah ditentukan sebelumnya.
Menyematkan popover ke koordinat LatLngAltitude
Popover tidak akan otomatis ditampilkan pada peta setelah Anda membuatnya. Untuk
membuat popover terlihat, Anda harus menyetel opsi open
ke true
di
PopoverElement
. Anda dapat melakukan tindakan ini selama konstruksi atau setelah instansiasi.
async function init() { const { AltitudeMode, Map3DElement, MapMode, PopoverElement } = await google.maps.importLibrary("maps3d"); const map = new Map3DElement({ center: { lat: 37.8204, lng: -122.4783, altitude: 0.407 }, range: 4000, tilt: 74, heading: 38, mode: MapMode.HYBRID, }); const popover = new PopoverElement({ altitudeMode: AltitudeMode.ABSOLUTE, open: true, positionAnchor: { lat: 37.819852, lng: -122.478549, altitude: 150 }, }); popover.append('Golden Gate Bridge'); map.append(popover); document.body.append(map); } init();
Menyematkan popover ke penanda
Anda dapat menambatkan popover ke penanda. Saat menambahkan popover yang ditambatkan ke penanda,
Anda menetapkan opsi PopoverElement.positionAnchor
untuk menggunakan penanda.
async function init() { const { AltitudeMode, Map3DElement, Marker3DInteractiveElement, MapMode, PopoverElement } = await google.maps.importLibrary("maps3d"); const map = new Map3DElement({ center: { lat: 37.8204, lng: -122.4783, altitude: 0.407 }, range: 4000, tilt: 74, heading: 38, mode: MapMode.HYBRID, }); // Popovers can only be added to interactive Markers const interactiveMarker = new Marker3DInteractiveElement({ altitudeMode: AltitudeMode.ABSOLUTE, position: { lat: 37.819852, lng: -122.478549, altitude: 100 } }); const popover = new PopoverElement({ open: false, positionAnchor: interactiveMarker, }); popover.append('Golden Gate Bridge'); interactiveMarker.addEventListener('gmp-click', (event) => { // toggle the marker to the other state (unlee you are clicking on the marker itself when it reopens it) popover.open = !popover.open; }); map.append(interactiveMarker); map.append(popover); document.body.append(map); } init();
Menyematkan popover ke penanda menggunakan HTML
Anda juga dapat menyematkan popover ke penanda tanpa menulis kode JavaScript apa pun, seperti yang ditunjukkan di bawah:
<gmp-map-3d mode="hybrid" center="37.819852,-122.478549" tilt="75" range="2000" heading="330">
<gmp-marker-3d-interactive gmp-popover-target="my-popover" position="37.819852,-122.478549,100"></gmp-marker-3d-interactive>
<gmp-popover id="my-popover">
Golden Gate Bridge
</gmp-popover>
</gmp-map-3d>
<script async src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDGl0teQ6qwaBEdHazOWIEXd8XGWOZvoaM&v=beta&libraries=maps3d">
</script>
Menambahkan konten kustom ke popover
Anda dapat menambahkan konten kustom ke popover dengan menyetel opsi header
dan content
:
async function init() {
const {Map3DElement, MapMode, PopoverElement, AltitudeMode} = await google.maps.importLibrary('maps3d');
const map = new Map3DElement({
center: { lat: 37.819852, lng: -122.478549, altitude: 2000 },
tilt: 75,
heading: 330,
mode: MapMode.SATELLITE,
});
const popover = new PopoverElement({
altitudeMode: AltitudeMode.ABSOLUTE,
open: true,
positionAnchor: {lat: 37.819852, lng: -122.478549, altitude: 100},
});
const header = document.createElement('div');
header.style.fontWeight = 'bold';
header.slot = 'header';
header.textContent = 'Golden Gate Bridge';
const content = document.createElement('div');
content.textContent = 'Iconic orange bridge connecting San Francisco to Marin.';
popover.append(header);
popover.append(content);
document.body.append(map);
map.append(popover);
}
init();