Migrazione: modulo Maps in google.load

Il 13 ottobre 2021 disattiveremo il servizio che fornisce il servizio "Maps" per google.load. Dopo il 13 ottobre 2021, se provi a utilizzare l'app "Maps" in google.load riceverai un errore (il modulo "mappe" non è supportato) e non verrà caricata nessuna mappa. Per evitare potenziali interruzioni, devi passare a uno delle alternative.

Che cosa devo fare?

Innanzitutto, rimuovi il tag <script> che carica il caricatore google.load, quindi rimuovi le chiamate al numero google.load. Se utilizzi Google Loader per altri cose, è possibile lasciare il tag <script> del caricatore in posizione.

Successivamente, implementa un nuovo modo per caricare l'API Maps JavaScript (seleziona una delle seguenti opzioni):

Esempio corrente con Google Loader

L'esempio seguente mostra come viene attualmente utilizzato Google Loader per caricare API Maps JavaScript (sono presenti due blocchi <script>):

Prima

<script type='text/javascript' src='https://www.google.com/jsapi'></script>
<script type='text/javascript'>
google.load("maps", "3.exp", {
    "callback": initMap,
    "key": "YOUR_KEY",
    "libraries": "places,visualization"
});
function initMap() {
  // Google Maps JS API is loaded and available
}
</script>

Quando viene utilizzato questo approccio, l'API Maps JavaScript viene caricata nello stesso momento in cui viene caricata la pagina. Per implementare il caricamento in linea, devi prima sostituire il metodo <script> che carica www.google.com/jsapi ("before") con Tag <script> mostrato nell'esempio seguente:

<script async src="https://maps.googleapis.com/maps/api/js?libraries=places,visualization&key=YOUR_API_KEY&v=weekly&callback=initMap">
</script>

Poi nel codice JavaScript rimuovi la chiamata a funzione google.load, poiché non è più necessario. L'esempio seguente mostra uno spazio vuoto initMap() , che viene chiamata una volta che la libreria di Maps è stata caricata correttamente:

<script type='text/javascript'>
function initMap() {
  // Google Maps JS API is loaded and available
}
</script>

Visualizza la documentazione

Caricamento dinamico da un altro file JavaScript

Il caricamento dinamico ti consente di controllare quando viene caricata l'API Maps JavaScript. Per Ad esempio, puoi attendere di caricare l'API Maps JavaScript finché L'utente fa clic su un pulsante o esegue un'altra azione. Per implementare il caricamento dinamico, sostituisci innanzitutto il tag <script> che carica www.google.com/jsapi ("before") con il codice per aggiungere in modo programmatico il tag <script>, come mostrato nell'esempio seguente:

var script = document.createElement('script');
script.src =
'https://maps.googleapis.com/maps/api/js?libraries=places,visualization&key=YOUR_API_KEY&v=weekly&callback=initMap';
script.async=true;

Quindi collega la funzione di callback all'oggetto finestra in questo modo:

window.initMap = function() {
  // Google Maps JS API is loaded and available
};

Infine, aggiungi il tag <script> all'intestazione della pagina in questo modo:

document.head.appendChild(script);

Visualizza la documentazione