С 21 февраля 2024 г. (версия 3.56) google.maps.Marker устарел. Мы рекомендуем вам перейти на новый класс google.maps.marker.AdvancedMarkerElement
. Расширенные маркеры существенно усовершенствованы по сравнению с устаревшим классом google.maps.Marker
.
Подробнее об этом прекращении поддержки…
Чтобы обновить устаревший маркер до расширенного, выполните следующие действия:
- Добавьте код для импорта библиотеки маркеров. Обратите внимание, что предыдущая версия маркеров (
google.maps.Marker
) не имеет этого требования. - Измените
google.maps.Marker
наgoogle.maps.marker.AdvancedMarkerElement
- Добавьте идентификатор карты в код инициализации карты. Например,
mapId: 'DEMO_MAP_ID'
в целях тестирования, если у вас еще нет идентификатора карты.
Добавьте библиотеку расширенных маркеров
Метод, который вы используете для загрузки библиотек, зависит от того, как ваша веб-страница загружает Maps JavaScript API.
Если на вашей веб-странице используется динамическая загрузка скриптов, добавьте библиотеку маркеров и импортируйте
AdvancedMarkerElement
(и, при необходимости,PinElement
) во время выполнения, как показано здесь.const { AdvancedMarkerElement, PinElement } = await google.maps.importLibrary("marker");
Если на вашей веб-странице используется тег загрузки устаревшего сценария прямой загрузки, добавьте в сценарий загрузки
libraries=marker
, как показано в следующем фрагменте кода.<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap&v=weekly&libraries=marker" defer ></script>
Узнайте больше о загрузке Maps JavaScript API.
Примеры
В следующих примерах кода показан код для добавления устаревшего маркера, а затем код того же примера с использованием расширенных маркеров:
До миграции
// 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', });
После миграции
// 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', });
Изучите расширенные функции маркеров
Расширенные маркеры можно настраивать способами, которые раньше были невозможны. Теперь вы можете настроить размер (масштаб) маркеров, а также изменить цвета фона, рамки и глифа. С пользовательскими графическими изображениями стало проще работать, и теперь можно создавать собственные маркеры с помощью HTML и CSS. Узнайте больше обо всем, что вы можете делать с помощью расширенных маркеров: