A partire dal 21 febbraio 2024 (v3.56), google.maps.Marker verrà ritirato. Ti
invitiamo a passare al nuovo corso google.maps.marker.AdvancedMarkerElement
. I marcatori avanzati offrono miglioramenti sostanziali rispetto alla classe
google.maps.Marker
legacy.
Scopri di più su questo ritiro
Per aggiornare un indicatore legacy in modo che diventi un indicatore avanzato:
- Aggiungi il codice per importare la libreria dei marcatori. Tieni presente che la versione precedente dei
marcatori (
google.maps.Marker
) non prevede questo requisito. - Modifica
google.maps.Marker
ingoogle.maps.marker.AdvancedMarkerElement
- Aggiungi un ID mappa al codice di inizializzazione della mappa. Ad esempio
mapId: 'DEMO_MAP_ID'
a scopo di test se non hai già un ID mappa.
Aggiungere la libreria Indicatori avanzati
Il metodo che utilizzi per caricare le librerie dipende da come la pagina web carica l'API Maps JavaScript.
Se la tua pagina web utilizza il caricamento dinamico degli script, aggiungi la libreria dei marcatori 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 precedente, aggiungi
libraries=marker
allo 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 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
// 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', });
Esplorare le funzionalità avanzate degli indicatori
Gli indicatori avanzati possono essere personalizzati in modi che prima non erano possibili. Ora puoi regolare le dimensioni (scala) dei marcatori e modificare i colori di sfondo, bordo e 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:
- Personalizzazione di base degli indicatori
- Creare indicatori con grafiche
- Creare indicatori con HTML e CSS
- Controllare il comportamento in caso di collisione, l'altitudine e la visibilità
- Rendere i segnaposto cliccabili e accessibili