Migra a los marcadores avanzados
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
La clase google.maps.Marker dejó de estar disponible el 21 de febrero de 2024 (v3.56). Te recomendamos que migres a la nueva clase google.maps.marker.AdvancedMarkerElement
. Los marcadores avanzados ofrecen mejoras sustantivas en relación con la clase google.maps.Marker
heredada.
Más información sobre esta baja
Para actualizar un marcador heredado y convertirlo en uno avanzado, haz lo siguiente:
- Agrega el código correspondiente para importar la biblioteca del marcador. Ten en cuenta que la versión anterior de los marcadores (
google.maps.Marker
) no incluye este requisito.
- Cambia
google.maps.Marker
a google.maps.marker.AdvancedMarkerElement
.
- Agrega un ID de mapa a tu código de inicialización del mapa. Por ejemplo,
mapId: 'DEMO_MAP_ID'
para fines de prueba si aún no tienes un ID de mapa.
Agrega la biblioteca de Marcadores avanzados
El método que uses para cargar las bibliotecas dependerá de cómo tu página web cargue la API de Maps JavaScript.
Si tu página web usa la carga de secuencia de comandos dinámica, agrega la biblioteca de marcadores y, luego, importa AdvancedMarkerElement
(y, opcionalmente, PinElement
) en el tiempo de ejecución, como se muestra aquí.
const { AdvancedMarkerElement, PinElement } = await google.maps.importLibrary("marker");
Si tu página web utiliza la etiqueta de carga de secuencia de comandos directa heredada, agrega libraries=marker
a la secuencia de comandos de carga, como se muestra en el siguiente fragmento.
<script
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap&v=weekly&libraries=marker"
defer
></script>
Más información sobre cómo cargar la API de Maps JavaScript
Ejemplos
En los siguientes ejemplos, se muestra el código utilizado para agregar un marcador heredado y, luego, el código para hacer lo mismo, pero con marcadores avanzados:
Antes de la migración
// 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',
});
Después de la migración
// 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',
});
Explora las características de los marcadores avanzados
Los marcadores avanzados se pueden personalizar de modos completamente nuevos.
Ahora puedes ajustar su tamaño (la escala) y cambiar los colores del fondo, el borde y el glifo. Resulta más fácil trabajar con imágenes personalizadas y ahora también puedes crear marcadores personalizados con HTML y CSS. Obtén más información sobre todo lo que puedes hacer con los marcadores avanzados:
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-08-17 (UTC)
[null,null,["Última actualización: 2025-08-17 (UTC)"],[[["\u003cp\u003e\u003ccode\u003egoogle.maps.Marker\u003c/code\u003e is deprecated as of February 21st, 2024 (v3.56) and developers should transition to \u003ccode\u003egoogle.maps.marker.AdvancedMarkerElement\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eAdvanced markers require adding the marker library, changing the class name, and including a map ID during map initialization.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can customize advanced markers with features like adjustable size, custom colors, graphic images, and HTML/CSS composition.\u003c/p\u003e\n"],["\u003cp\u003eSeveral resources are available to learn more about advanced marker features such as basic customization, graphic markers, HTML/CSS markers, collision behavior, and accessibility.\u003c/p\u003e\n"]]],["Google's `google.maps.Marker` is deprecated as of February 21st, 2024, in favor of `google.maps.marker.AdvancedMarkerElement`. To migrate, import the marker library, replace `google.maps.Marker` with the new class, and add a map ID to map initialization code (e.g., `mapId: 'DEMO_MAP_ID'`). Load the library dynamically with `google.maps.importLibrary(\"marker\")` or add `libraries=marker` to the script tag. Advanced markers offer enhanced customization, including size, color, and HTML/CSS-based designs.\n"],null,["As of February 21st, 2024 (v3.56), google.maps.Marker is deprecated. We\nencourage you to transition to the new `google.maps.marker.AdvancedMarkerElement`\nclass. Advanced markers provide substantial improvements over the legacy\n`google.maps.Marker` class.\n\n[Learn more about this deprecation](/maps/deprecations#googlemapsmarker_in_the_deprecated_as_of_february_2023)\n\nTo update a legacy marker to be an advanced marker, take the following steps:\n\n1. Add code to import the marker library. Note that the previous version of markers (`google.maps.Marker`) does not have this requirement.\n2. Change `google.maps.Marker` to `google.maps.marker.AdvancedMarkerElement`\n3. Add a map ID to your map initialization code. For example `mapId: 'DEMO_MAP_ID'` for testing purposes if you don't have a map ID already.\n\nAdd the Advanced Marker library\n\nThe method you use for loading libraries depends on how your web page loads the\nMaps JavaScript API.\n\n- If your web page uses dynamic script loading, add the markers library and\n import `AdvancedMarkerElement` (and optionally `PinElement`) at runtime, as\n shown here.\n\n ```javascript\n const { AdvancedMarkerElement, PinElement } = await google.maps.importLibrary(\"marker\");\n ```\n- If your web page uses the legacy direct script loading tag, add\n `libraries=marker` to the loading script, as shown in the following snippet.\n\n ```html\n \u003cscript\n src=\"https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap&v=weekly&libraries=marker\"\n defer\n \u003e\u003c/script\u003e\n ```\n\n[Learn more about loading the Maps JavaScript API](/maps/documentation/javascript/load-maps-js-api)\n\nExamples\n\nThe following code examples show code for adding a legacy marker, followed by\nthe code for the same example using advanced markers:\n\nBefore migration \n\n```javascript\n// The location of Uluru\nconst position = { lat: -25.344, lng: 131.031 };\n\nconst map = new google.maps.Map(document.getElementById(\"map\"), {\n zoom: 4,\n center: position,\n});\n\n// The marker, positioned at Uluru\nconst marker = new google.maps.Marker({\n map: map,\n position: position,\n title: 'Uluru',\n});\n```\n\nAfter migration \n\n```javascript\n // The location of Uluru\n const position = { lat: -25.344, lng: 131.031 };\n\n const map = new google.maps.Map(document.getElementById(\"map\"), {\n zoom: 4,\n center: position,\n mapId: \"DEMO_MAP_ID\", // Map ID is required for advanced markers.\n });\n\n // The advanced marker, positioned at Uluru\n const marker = new google.maps.marker.AdvancedMarkerElement({\n map,\n position: position,\n title: 'Uluru',\n });\n```\n\nExplore advanced marker features\n\nAdvanced markers can be customized in ways that were not possible before.\nNow you can adjust the size (scale) of markers, and change the colors of the\nbackground, border, and glyph. Custom graphic images are simpler to work with,\nand it is now possible to compose custom markers using HTML and CSS. Learn more\nabout everything you can do with advanced markers:\n\n- [Basic marker customization](/maps/documentation/javascript/advanced-markers/basic-customization)\n- [Create markers with graphics](/maps/documentation/javascript/advanced-markers/graphic-markers)\n- [Create markers with HTML and CSS](/maps/documentation/javascript/advanced-markers/html-markers)\n- [Control collision behavior, altitude, and visibility](/maps/documentation/javascript/advanced-markers/collision-behavior)\n- [Make markers clickable and accessible](/maps/documentation/javascript/advanced-markers/accessible-markers)"]]