Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Mia libreria che incorpori Google Maps

    Salve a tutti!

    In pratica sto definendo un template di una pagina in cui determinati script saranno inclusi solo se si verificano determinate condizioni.

    Ora sto lavorando con GoogleMaps e la libreria DragZoom.

    Il tutorial di DragZoom dice che bisogna includere la libreria DragZoom dopo aver inserito la libreria di google maps. in pratica questo codice:

    codice:
    [% // Script for the Google Key \%]
    <script type="text/javascript" src="http://www.google.com/jsapi?hl=it&key=[%= gKey %]" >
    </script>
    
    <script type="text/javascript" src="/js/dragzoom.js" >
    </script>
    [%= gKey %] è il codice JSTL per la stampa della mia chiave di GMaps.


    Solo che quando provo a lanciare il progetto ottengo l'errore che "google.maps" non è definito. In pratica alla libreria dragzoom non è visibile il namespace di google maps definito sopra.

    Premetto che quelle due inclusioni di script non sono nell'head della pagina, ma all'interno del documento. A complicare le cose si mette pure il fatto che non posso inserirli nell'head, perchè il template riguarda una porzione della pagina e nn di tutto il documento. Anche se includo all'interno della pagina le librerie GMpas fino ad ora tutto funziona alla grande!

    Sapete dirmi come fare?

    Grazie in anticipo

  2. #2
    hai firefox con firebugs? Se si, apri la parte "Script", appena sopra ti torverai una select dove sono selezionabili tutti gli script inseriti nella pagina, seleziona quello di Google Maps e controlla se il server ti risponde in maniera corretta.
    I DON'T Double Click!

  3. #3
    Proprio Firebug mi dice che la libreria di DragZoom ha un errore dato che non "vede" google.maps!!!

    Ho creato un file myScript.js per testare la cosa e ho visto che è un problema generale di Js!

  4. #4
    ma, se provi a leggere cosa google maps di torna come JS cosa vedi?
    I DON'T Double Click!

  5. #5
    Google Maps funziona alla grande! e la libreria che ho incluso che dice "google.maps" non definito!

  6. #6
    eh, quindi non carica la libreria: apri il codice, cerca il punto dove includi google maps, scrivi l'url nel browser e cerca di capire perché non ritorna i dati corretti.
    I DON'T Double Click!

  7. #7
    ma il codice di esempio di DragZoom non vuole nessuna inclusione esplicita!
    Richiede solo che prima di includere la "sua" libreria sia presente quella di GMaps, come ho postato nel primo post!

    Dovrei fare un include esplicito? Non penso!

    Ho fatto anche provato a creare un mio file myScript.js in cui faccio un semplice "google.maps.Log.write("Hello world"); Ma niente! Da lo stesso errore di DragZoom!

    Quindi è una questione di visibilità della libreria di google!

    Forse devo includerla per forza nell'header del progetto! Cosa che non voglio/dovrei fare!

  8. #8
    no, non è necessario, quello che devi fare è puntare il browser a http://www.google.com/jsapi?hl=it&key= aggiungendo poi quello che stampi con [%= gKey %] e vedere se il sito di Google ti risponde con il Javascript corretto (cosa che non credo o funzionerebbe) o se ti stampi un errore con le info su come risolverlo.
    I DON'T Double Click!

  9. #9

    Svelato l'arcano!

    Ho trovato la soluzione! Come si sul dire "ce l'avevo davanti agli occhi"!

    Allora, diciamo che sono stato tratto in inganno (che parolone) dal esempio di DragZoom. Nel codice di esempio era solo indicata la sequenza di inclusione delle 2 librerie all'interno della pagina, senza specificare nulla sul tipo di inclusione delle libreria di Google si stesse facendo.

    Ebbene, se notate nel mio primo post, ho fatto uso della versione AJAX di GMaps API, "jsapi", rileggendo le linee guida di Google, mi sono ricordato di una cosa che mi era totalmente passata per la mente! Quell'inclusione non fa altro che creare l'oggetto "google", quindi diciamo che inizializza il namespace, che di fatto è vuoto se non segue un :

    codice:
    google.load("maps", "2.x");
    Dato che questo caricamento stava qualche riga più sotto, non me ne sono proprio accorto.

    Ora tutto funge! Meglio così!

    Per chiunque fosse interessato la soluzione al mio problema (un po' ingenuo lo ammetto) è questo:

    codice:
    [% // Script for the Google Key \%]
    <script type="text/javascript" src="http://www.google.com/jsapi?hl=it&key=VOSTRA_GKEY" >
    </script>
    
    <script type="text/javascript">
    google.load("maps", "2.x");
    </script>
    
    <script type="text/javascript" src="/js/dragzoom.js" >
    </script>
    Tutto qui!

    Un grazie a artorius per essersi interessato al mio problema! Bello vedere che c'è sempre qualcuno pronto a spremersi per risolvere anche le cose più strane!


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.