21 lutego 2024 r. (wersja 3.56) usługa google.maps.Marker została wycofana. Zachęcamy do przejścia na nową klasę google.maps.marker.AdvancedMarkerElement
. Zaawansowane znaczniki zapewniają znaczną poprawę w porównaniu ze starszą klasą google.maps.Marker
.
Więcej informacji o tym wycofaniu
Aby zaktualizować starszy znacznik w znacznik zaawansowany, wykonaj te czynności:
- Dodaj kod, aby zaimportować bibliotekę znaczników. Pamiętaj, że poprzednia wersja znaczników (
google.maps.Marker
) nie ma tego wymogu. - Zmień
google.maps.Marker
nagoogle.maps.marker.AdvancedMarkerElement
- Dodaj identyfikator mapy do kodu inicjowania mapy. Przykład:
mapId: 'DEMO_MAP_ID'
. Jeśli nie masz jeszcze identyfikatora mapy, możesz użyć atrybutu „DEMO_MAP_ID”.
Dodawanie biblioteki zaawansowanych znaczników
Metoda ładowania bibliotek zależy od tego, jak Twoja strona internetowa wczytuje interfejs Maps JavaScript API.
Jeśli Twoja strona internetowa korzysta z dynamicznego wczytywania skryptów, dodaj bibliotekę znaczników i zaimportuj plik
AdvancedMarkerElement
(oraz opcjonalniePinElement
) w czasie działania, jak pokazano tutaj.const { AdvancedMarkerElement, PinElement } = await google.maps.importLibrary("marker");
Jeśli Twoja strona internetowa korzysta ze starszego tagu wczytywania bezpośredniego skryptu, dodaj do skryptu wczytywania
libraries=marker
w sposób podany poniżej.<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap&v=weekly&libraries=marker" defer ></script>
Więcej informacji o wczytywaniu interfejsu Maps JavaScript API
Przykłady
Poniższe przykłady kodu pokazują kod dodawania starszego znacznika, a po nim kod z tego samego przykładu z użyciem znaczników zaawansowanych:
Przed migracją
// The location of Uluru const position = { lat: -25.344, lng: 131.031 }; const map = new google.maps.Map(document.getElementById("map"), { zoom: 4, center: position, }); // The marker, positioned at Uluru const marker = new google.maps.Marker({ map: map, position: position, title: 'Uluru', });
Po migracji
// The location of Uluru const position = { lat: -25.344, lng: 131.031 }; const map = new google.maps.Map(document.getElementById("map"), { zoom: 4, center: position, mapId: "DEMO_MAP_ID", // Map ID is required for advanced markers. }); // The advanced marker, positioned at Uluru const marker = new google.maps.marker.AdvancedMarkerElement({ map, position: position, title: 'Uluru', });
Poznaj zaawansowane funkcje znacznika
Zaawansowane znaczniki można dostosowywać w sposób, który wcześniej nie był możliwy. Teraz możesz dostosować rozmiar (skalę) znaczników oraz zmienić kolory tła, obramowania i glifu. Obsługa niestandardowych obrazów graficznych jest łatwiejsza, a teraz można tworzyć niestandardowe znaczniki za pomocą kodu HTML i CSS. Dowiedz się więcej o wszystkich możliwościach znaczników zaawansowanych: