Fissaggio “di aver incluso le API di Google Maps più volte su questa pagina. Questo potrebbe causare errori.”

Ho incluso due sotto gli script nella mia intestazione e ottengo l’errore “di aver incluso le API di Google Maps più volte su questa pagina. Questo potrebbe causare errori.”

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js key=************"></script>

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?libraries=places&sensor=false"></script>

Quando posso rimuovere uno script, ho ottenere ulteriori js errori. Come posso correttamente il refactoring di questi due script nella mia applicazione rails?



3 Replies
  1. 17

    Nel tuo esempio sopra, siete tra cui lo stesso script due volte, ma con parametri diversi. Si dovrebbe essere in grado di risolvere il problema inserendo lo script una volta, con tutti i parametri richiesti come questo:

    <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=YOUR_KEY_HERE&libraries=places&sensor=false"></script>    
    • Un buon posto per iniziare è quello di esaminare i documenti, che di solito mostra come i parametri sono organizzati. Se siete nuovi al web dev, leggere un po ‘ di parametri url, qualcosa di simile a questo per iniziare en.wikipedia.org/wiki/Query_string
    • Grazie, il problema è stato risolto! Grazie @Clam per il link
  2. 7

    Se si chiama google maps tramite una chiamata ajax, è possibile utilizzare window.google = {} all’uscita lo stato in cui la mappa è stata chiamata.

    • Sto lavorando su una Vue SPA e quando mi ha colpito un componente con una mappa, poi uscire e tornare indietro, vorrei ottenere questo messaggio, in modo che il componente, ho aggiunto un destroy() funzione (non al di sotto di metodi, è un componente a livello di metodo) e ha fatto $('#google-map').remove() e window.google = {}, la cui combinazione ha eliminato questo messaggio.
    • grazie. davvero salvare il mio tempo
    • Questo è grande. Lavoro troppo sul framework7, utilizzando il modello su pageBeforeRemoval
  3. 3

    So che nel mio caso non si tratta di una applicazione Rails, ma potrebbero essere di aiuto a qualcun altro … sto lavorando con Reagiscono e mi è stato sempre lo stesso errore quando ho è stato il passaggio tra le visualizzazioni/pagine.

    E come wLc detto window.google = {} funzionato come un fascino e stava eliminando l’errore nella console, ma il <script> tag è rimasto in html e ‘ stato aggiunto ogni volta che ero a rivisitare la pagina contenente la mappa.

    Su componentWillUnmount ho aggiunto un po ‘ di codice per rimuovere il tag.

    const allScripts = document.getElementsByTagName( 'script' );
    [].filter.call(
      allScripts, 
      ( scpt ) => scpt.src.indexOf( 'key=googleAPIKEY' ) >= 0
     )[ 0 ].remove();
    
     window.google = {};
    • Incredibile. Non avrebbe mai indovinare. Sto spuntando file php che utilizza jquery per mostrare la posizione. Che file api di google maps con una chiave. Questo, window.google = {} messo in $(document).ready(function() {... } risolvere del tutto il problema.

Lascia un commento