A partire dal 21 febbraio 2024 (v3.56), google.maps.Marker verrà ritirato. Ti invitiamo a passare alla nuova classe google.maps.marker.AdvancedMarkerElement. Gli indicatori avanzati offrono miglioramenti sostanziali rispetto alla classe google.maps.Marker precedente.
Scopri di più su questo ritiro
Per aggiornare un indicatore legacy in modo che diventi un indicatore avanzato, segui questi passaggi:
- Aggiungi il codice per importare la libreria di indicatori (vedi i passaggi di seguito).
- Modifica
google.maps.Markeringoogle.maps.marker.AdvancedMarkerElement; se l'istruzione di importazione dichiaraAdvancedMarker, puoi omettere il percorso qualificato. - Aggiungi un ID mappa al codice di inizializzazione della mappa. Ad esempio,
mapId: 'DEMO_MAP_ID'per scopi di test se non hai già un ID mappa.
Aggiungi la libreria di indicatori avanzati
Il metodo che utilizzi per caricare le librerie dipende dal modo in cui la tua pagina web carica l'API Maps JavaScript.
Se la tua pagina web utilizza l'importazione dinamica delle librerie, aggiungi la libreria degli indicatori e importa
AdvancedMarkerElement(e facoltativamentePinElement) in fase di runtime, come mostrato qui.const { AdvancedMarkerElement, PinElement } = await google.maps.importLibrary("marker");
Se la tua pagina web utilizza il tag di caricamento diretto dello script legacy, aggiungi
libraries=markerallo script di caricamento, come mostrato nello snippet seguente.<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap&v=weekly&libraries=marker" defer ></script>
Scopri di più sul caricamento dell'API Maps JavaScript
Esempi
I seguenti esempi di codice mostrano il codice per l'aggiunta di un indicatore legacy, seguito dal codice per lo stesso esempio utilizzando gli indicatori avanzati:
Prima della migrazione
// 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',
});
Dopo la migrazione
// Import the needed libraries.
// Not required if the legacy direct script loading tag is in use.
await google.maps.importLibrary('maps') as google.maps.MapsLibrary;
await google.maps.importLibrary('marker') as google.maps.MarkerLibrary;
// 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/Ayers Rock',
});
Esplora le funzionalità degli indicatori avanzati
Gli indicatori avanzati possono essere personalizzati in modi che prima non erano possibili. Ora puoi regolare le dimensioni (scala) degli indicatori e modificare i colori dello sfondo, del bordo e del glifo. Le immagini grafiche personalizzate sono più semplici da utilizzare ed è ora possibile comporre indicatori personalizzati utilizzando HTML e CSS. Scopri di più su tutto ciò che puoi fare con gli indicatori avanzati:
- Aggiungi un indicatore a una mappa.
- Personalizzazione di base degli indicatori
- Crea indicatori con elementi grafici
- Crea indicatori con HTML e CSS
- Controlla il comportamento della sovrapposizione, l'altitudine e la visibilità
- Rendi i segnaposto cliccabili e accessibili