Od 21 lutego 2024 r. (wersja 3.56) funkcja google.maps.Marker jest wycofana. Zachęcamy do przejścia na nowe zajęcia google.maps.marker.AdvancedMarkerElement
. Zaawansowane znaczniki zapewniają znaczne ulepszenia w porównaniu z klasągoogle.maps.Marker
.
Aby zaktualizować starszego znacznika do znacznika zaawansowanego:
- Dodaj kod, aby zaimportować bibliotekę znaczników. Pamiętaj, że w poprzedniej wersji znaczników (
google.maps.Marker
) nie było takiego wymagania. - Zmień
google.maps.Marker
nagoogle.maps.marker.AdvancedMarkerElement
- Dodaj identyfikator mapy do kodu inicjalizacji mapy. Na przykład
mapId: 'DEMO_MAP_ID'
na potrzeby testowania, jeśli nie masz jeszcze identyfikatora mapy.
Dodawanie biblioteki zaawansowanych znaczników
Metoda wczytywania bibliotek zależy od tego, jak Twoja strona internetowa wczytuje interfejs Maps JavaScript API.
Jeśli Twoja strona internetowa korzysta z dynamicznego ładowania skryptu, dodaj bibliotekę znaczników i zaimportuj
AdvancedMarkerElement
(i opcjonalniePinElement
) w czasie wykonywania, jak pokazano na ilustracji.const { AdvancedMarkerElement, PinElement } = await google.maps.importLibrary("marker");
Jeśli Twoja strona internetowa używa starszego tagu bezpośredniego ładowania skryptu, dodaj do skryptu wczytywania tag
libraries=marker
, jak pokazano w tym fragmencie kodu.<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 Maps JavaScript API
Przykłady
Poniższe przykłady kodu pokazują kod do dodawania starszego znacznika, a zaraz potem kod tego samego przykładu z użyciem zaawansowanych znaczników:
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 znaczników
Zaawansowane znaczniki można dostosowywać w sposób, który wcześniej nie był możliwy. Teraz możesz dostosować rozmiar (współrzędne) znaczników oraz zmienić kolory tła, obramowania i glifu. Niestandardowe obrazy graficzne są łatwiejsze w użyciu, a teraz można tworzyć niestandardowe znaczniki za pomocą HTML i CSS. Dowiedz się więcej o tym, co możesz robić z zaawansowanymi znacznikami: