Element Zaawansowane informacje o miejscu i element Zaawansowane informacje o miejscu – kompaktowy Element to elementy HTML, które wyświetlają szczegóły miejsca:
-
Element
AdvancedPlaceDetailsElementobsługuje wszystkie dane o miejscu, które można wyświetlić, i może zawierać wiele zdjęć. -
Element
AdvancedPlaceDetailsCompactElementzostał zaprojektowany tak, aby zajmować jak najmniej miejsca i wyświetlać zwięzły zestaw informacji o miejscu, w tym nazwę, adres, ocenę itp. Może też zawierać jedno zdjęcie.
Zarówno element Zaawansowane informacje o miejscu, jak i element Zaawansowane informacje o miejscu – kompaktowy oferują te same funkcje zaawansowane, w tym dostosowywanie przycisków działania, pomijanie nazwy miejsca oraz filtrowanie opinii i multimediów.
Użyj narzędzia do dostosowywania , aby zobaczyć, jak różne zestawy właściwości wpłyną na wygląd elementu Informacje o miejscu, i uzyskać dostęp do kodu w HTML/CSS, Kotlin/XML, i Swift.
Element Zaawansowane informacje o miejscu (wersja testowa)
Kliknij znacznik na mapie, aby zobaczyć szczegóły miejsca w elemencie Zaawansowane informacje o miejscu.
AdvancedPlaceDetailsElement
obsługuje szeroki zakres elementów treści, w tym pełne godziny otwarcia,
adres strony internetowej, numer telefonu,
podsumowanie wygenerowane przez AI
z możliwością powrotu do podsumowania redakcyjnego, wyróżnione informacje dotyczące typu miejsca, opinie,
podsumowanie opinii wygenerowane przez AI, kod plus i listy funkcji.
Aby wyświetlić szczegóły miejsca na mapie, dodaj
gmp-advanced-place-details element do
gmp-map elementu na stronie HTML. Aby wybrać miejsce, dodaj element podrzędny
gmp-place-details-place-request. Może to
być
obiekt Place,
identyfikator miejsca lub nazwa zasobu miejsca:
<gmp-map center="47.759737, -122.250632" zoom="16" map-id="DEMO_MAP_ID">
<div class="widget-container" slot="control-inline-start-block-start">
<gmp-advanced-place-details>
<gmp-place-details-place-request place="places/ChIJC8HakaIRkFQRiOgkgdHmqkk"></gmp-place-details-place-request>
<gmp-place-all-content></gmp-place-all-content>
</gmp-advanced-place-details>
</div>
<gmp-advanced-marker></gmp-advanced-marker>
</gmp-map>Konfigurowanie treści
Możesz kontrolować konkretne treści miejsca wyświetlane przez element
gmp-advanced-place-details przez zagnieżdżanie elementów podrzędnych
aby wybrać i skonfigurować szczegóły miejsca, jak pokazano w tym przykładzie:
<gmp-advanced-place-details>
<gmp-place-details-place-request
place="places/ChIJC8HakaIRkFQRiOgkgdHmqkk"></gmp-place-details-place-request>
<gmp-place-name></gmp-place-name>
<gmp-place-address></gmp-place-address>
<gmp-place-rating></gmp-place-rating>
<gmp-place-type></gmp-place-type>
<gmp-place-price></gmp-place-price>
<gmp-place-accessible-entrance-icon></gmp-place-accessible-entrance-icon>
<gmp-place-opening-hours></gmp-place-opening-hours>
<gmp-place-website></gmp-place-website>
<gmp-place-phone-number></gmp-place-phone-number>
<gmp-place-summary></gmp-place-summary>
<gmp-place-type-specific-highlights></gmp-place-type-specific-highlights>
<gmp-place-review-summary></gmp-place-review-summary>
<gmp-place-reviews></gmp-place-reviews>
<gmp-place-feature-list></gmp-place-feature-list>
<gmp-place-attribution></gmp-place-attribution>
</gmp-advanced-place-details>
Każdy element podrzędny treści wybiera odpowiednie szczegóły miejsca do
wyświetlenia:
gmp-place-address
wybiera adres miejsca,
gmp-place-price
wybiera poziom cen miejsca itp. Elementy
gmp-place-summary
i
gmp-place-review-summary
zawierają
podsumowanie
miejsca i jego opinii wygenerowane przez AI. Kolejność elementów podrzędnych
nie ma znaczenia, ponieważ wybrane szczegóły są zawsze renderowane w stałej, predefiniowanej kolejności.
Niektóre z tych elementów można dodatkowo skonfigurować za pomocą atrybutów specyficznych dla treści:
-
Element
gmp-place-mediasłuży do wyświetlania pojedynczego zdjęcia i zawieralightbox-preferredatrybut, który po kliknięciu otwiera zdjęcie w lightboxie. Lightbox jest domyślnie wyłączony. -
Element
gmp-place-attributionsłuży do wyświetlania ogólnych konfiguracji informacji o pochodzeniu danych interfejsu API Map Google, takich jak źródło zdjęcia lub opinii. Atrybutylight-scheme-coloridark-scheme-colorsłużą do ustawiania koloru informacji o pochodzeniu danych w trybie jasnym i ciemnym.
Więcej informacji o wszystkich obsługiwanych elementach treści znajdziesz w dokumentacji referencyjnej Dostosowywanie treści widżetu Miejsca.
Aby uprościć, możesz też użyć
gmp-place-all-content
aby wyświetlić wszystkie szczegóły dostępne w elemencie Zaawansowane informacje o miejscu, lub
z
gmp-place-standard-content
aby wyświetlić standardową konfigurację.
Konfigurowanie wyglądu
Zalecany zakres szerokości elementu
gmp-advanced-place-details to 250–400 pikseli. Szerokość mniejsza
niż 250 pikseli może powodować nieprawidłowe wyświetlanie. Ustaw wysokość odpowiednią dla swojej
aplikacji. Element Zaawansowane informacje o miejscu został zaprojektowany tak, aby w razie potrzeby przewijać się
w przydzielonym miejscu.
Element gmp-advanced-place-details obsługuje też różne niestandardowe właściwości CSS, które umożliwiają konfigurowanie kolorów i czcionek elementu. Więcej informacji znajdziesz w artykule
Dostosowywanie stylu pakietu Places UI Kit.
Element Zaawansowane informacje o miejscu – kompaktowy (wersja testowa)
Kliknij znacznik na mapie, aby zobaczyć szczegóły miejsca w elemencie Zaawansowane informacje o miejscu – kompaktowy.
AdvancedPlaceDetailsCompactElement
renderuje szczegóły wybranego miejsca, zajmując jak najmniej miejsca. Może to być przydatne w oknie informacyjnym wyróżniającym miejsce na mapie, w mediach społecznościowych np. podczas udostępniania lokalizacji na czacie, jako sugestia wyboru bieżącej lokalizacji lub w artykule w mediach, aby odwołać się do miejsca w Mapach Google. Element
AdvancedPlaceDetailsCompactElement może wyświetlać nazwę, adres,
ocenę, typ, cenę, ikonę dostępności, stan otwarcia i jedno zdjęcie.
Może być wyświetlany poziomo lub pionowo, w zależności od wartości atrybutu
orientation.
W tym fragmencie kodu element
gmp-advanced-place-details-compact jest skonfigurowany z atrybutem
orientation ustawionym na horizontal. Dodatkowy
atrybut truncation-preferred powoduje obcięcie niektórych treści, aby
zmieściły się w jednym wierszu zamiast zawijać. Element
gmp-advanced-place-details-compact zawiera element podrzędny
element, gmp-place-details-place-request, który służy do wybierania miejsca.
Może to być obiekt
Place, identyfikator
miejsca lub nazwa zasobu miejsca.
<gmp-advanced-place-details-compact orientation="horizontal" truncation-preferred>
<gmp-place-details-place-request place="places/ChIJC8HakaIRkFQRiOgkgdHmqkk"></gmp-place-details-place-request>
<gmp-place-all-content></gmp-place-all-content>
</gmp-advanced-place-details-compact>Konfigurowanie treści
Możesz kontrolować konkretne treści miejsca wyświetlane przez element
gmp-advanced-place-details-compact, zagnieżdżając elementy podrzędne
, aby wybrać i skonfigurować szczegóły miejsca, jak pokazano w tym
fragmencie kodu:
<gmp-advanced-place-details-compact>
<gmp-place-details-place-request place="places/ChIJC8HakaIRkFQRiOgkgdHmqkk"></gmp-place-details-place-request>
<gmp-place-photo></gmp-place-photo>
<gmp-place-name></gmp-place-name>
<gmp-place-rating></gmp-place-rating>
<gmp-place-address></gmp-place-address>
<gmp-place-opening-hours></gmp-place-opening-hours>
<gmp-place-attribution></gmp-place-attribution>
</gmp-advanced-place-details-compact>Każdy element podrzędny treści wybiera odpowiednie szczegóły miejsca do wyświetlenia. Kolejność elementów podrzędnych nie ma znaczenia, ponieważ wybrane szczegóły są zawsze renderowane w stałej, predefiniowanej kolejności. Niektóre z tych elementów można dodatkowo skonfigurować za pomocą atrybutów specyficznych dla treści.
Więcej informacji o wszystkich obsługiwanych elementach treści znajdziesz w dokumentacji referencyjnej Dostosowywanie treści widżetu Miejsca.
Aby uprościć, możesz też użyć
gmp-place-all-content
, aby wyświetlić wszystkie szczegóły dostępne w elemencie Zaawansowane informacje o miejscu – kompaktowy
, lub z
gmp-place-standard-content
, aby wyświetlić standardową konfigurację.
Konfigurowanie wyglądu
Zalecany zakres szerokości elementu
gmp-advanced-place-details-compact w orientacji pionowej
to 180–300 pikseli. Szerokość mniejsza niż 160 pikseli może powodować nieprawidłowe wyświetlanie. Nie ustawiaj stałej wysokości.
Zalecany zakres szerokości elementu
gmp-advanced-place-details-compact w orientacji poziomej
to 180–500 pikseli. Szerokość mniejsza niż 160 pikseli może powodować nieprawidłowe wyświetlanie. Przy szerokości mniejszej niż 350 pikseli miniatura nie będzie wyświetlana.
Nie ustawiaj stałej wysokości.
Element gmp-advanced-place-details-compact obsługuje też różne niestandardowe właściwości CSS, które umożliwiają konfigurowanie kolorów i
czcionek elementu. Więcej informacji znajdziesz w artykule
Dostosowywanie stylu pakietu Places UI Kit.
Pamiętaj, że jeśli element Zaawansowane informacje o miejscu – kompaktowy zostanie dodany do
dymku informacyjnego, niestandardowy styl należy zastosować bezpośrednio do
gmp-advanced-place-details-compact elementu. Dzieje się tak, ponieważ okno informacyjne jest częścią DOM cienia mapy, więc zewnętrzne style CSS nie będą stosowane.
gmp-advanced-place-details-compact { --gmp-color-surface: #202124; --gmp-color-on-surface: #ffffff; --gmp-color-on-surface-variant: #9aa0a6; --gmp-color-primary: #8ab4f8; --gmp-font-family: "Roboto", sans-serif; }
Ten przykład pokazuje, jak programowo dodać element
AdvancedPlaceDetailsCompactElement
do mapy za pomocą elementu
InfoWindow
i elementu
AdvancedMarkerElement.
Funkcje zaawansowane
Dostosowywanie przycisków działania
Dodaj przyciski działania jako bezpośrednie elementy podrzędne komponentu Zaawansowane informacje o miejscu
komponent. W przypadku standardowych połączeń nawigacyjnych użyj elementu <gmp-place-link> i wyraźnie określ atrybut action. Opcjonalnie możesz określić atrybut slot.
Prawidłowe predefiniowane działania to open-website,
open-directions, open-map i call.
Jeśli atrybut slot zostanie pominięty, domyślnie przyjmie wartość
action-main.
<gmp-advanced-place-details-compact orientation="vertical" truncation-preferred> <gmp-place-details-place-request place="places/ChIJC8HakaIRkFQRiOgkgdHmqkk"></gmp-place-details-place-request> <!-- Other content items --> <gmp-place-link action="open-website" target="_blank"></gmp-place-link> <gmp-place-link action="open-directions" slot="action-corner"></gmp-place-link> </gmp-advanced-place-details-compact>
Wymagania dotyczące atrybucji wizualnej
Ważne: musisz wyraźnie poinformować użytkowników, kiedy niestandardowy przycisk działania będzie udostępniać informacje o użytkowniku podmiotowi zewnętrznemu innemu niż Google. Zobacz wymagania dotyczące atrybucji wizualnej.
Pomijanie nazwy miejsca
Aby pominąć nazwę miejsca, wyraźnie wyklucz element
<gmp-place-name> z treści niestandardowych.
<gmp-advanced-place-details> <gmp-place-details-place-request place="places/ChIJT7FdmYiAhYAROFOvrIxRJDU"></gmp-place-details-place-request> <!-- Exclude <gmp-place-name> to hide the place name --> <gmp-place-rating></gmp-place-rating> <gmp-place-address></gmp-place-address> </gmp-advanced-place-details>
Filtrowanie opinii i multimediów
Ten przykładowy kod pokazuje tylko multimedia i opinie, w których pojawia się słowo „kawa”.
<gmp-advanced-place-details> <gmp-place-details-place-request place="places/ChIJT7FdmYiAhYAROFOvrIxRJDU"></gmp-place-details-place-request> <gmp-place-media query="coffee"></gmp-place-media> <gmp-place-reviews query="coffee" rank-preference="newest"></gmp-place-reviews> </gmp-advanced-place-details>
Możesz też użyć JavaScriptu, aby pobrać łączną liczbę elementów pasujących do danego zapytania, odczytując właściwości searchMediaCount i searchReviewsCount. Zanim uzyskasz dostęp do tych właściwości, musisz poczekać na zdarzenie gmp-load przed.
const detailsElement = document.querySelector('gmp-advanced-place-details'); const mediaElement = detailsElement.querySelector('gmp-place-media'); mediaElement.addEventListener('gmp-load', (e) => { console.log('Total matching photos: ', e.target.searchMediaCount); }); const reviewsElement = detailsElement.querySelector('gmp-place-reviews'); reviewsElement.addEventListener('gmp-load', (e) => { console.log('Total matching reviews: ', e.target.searchReviewsCount); });