Charger un fichier js dans un composant

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Charger un fichier js dans un composant

    Bonjour,
    J'ai besoin d'afficher une carte Google Map dans le fichier default.php d'une view d'un composant.
    J'ai pris le code que propose Google avec une clé API que j'utilise par ailleurs (le temps de faire les tests)

    https://developers.google.com/maps/d...tutorial?hl=fr

    J'ai besoin de charger l'API Google. :
    J'ai consulté cette documentation : https://docs.joomla.org/Adding_JavaScript/fr
    J'ai tenté de charger le script avec la méthode décrite, mais cela provoque une erreur.

    Voici le code Google:
    Code PHP:
    <div id="map"></div>
        <
    script>
          var 
    map;
          function 
    initMap() {
            
    map = new google.maps.Map(document.getElementById('map'), {
              
    center: {lat: -34.397lng150.644},
              
    zoom8
            
    });
          }
        </
    script>

        <
    script src="https://maps.googleapis.com/maps/api/js?key="J ai mis ici ma clé API Google"&callback=initMap"async defer></script>

        <
    div id="map"></div
    Qui saurait m’aiguiller ?

    Cordialement.

    Eric

  • #2
    Pourquoi deux fois la div map ? En HTML, tu ne peux jamais avoir le même ID plus d'une fois.

    Quand tu écris ceci :

    Code:
    <script src="https://maps.googleapis.com/maps/api/js?key="J ai mis ici ma clé API Google"&callback=initMap"async defer>
    Tu as bien un truc du genre :

    Code:
    <script src="https://maps.googleapis.com/maps/api/js?key=XXXXXXXXXXXX&callback=initMap" async defer>
    Dans ton exemple, il y a quatre double-guillemets du coup je me demande ce que tu as en réalité...

    Note : si tu regardes ta console de debugging Javascript, tu aurais vu ces erreurs sans aucun doute.
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
    Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

    Commentaire


    • #3
      En plus ces deux div ne servent à rien puisqu'elles sont ouvertes et refermées aussitot
      Code PHP:
      <div id="map"></div
      Lorsque l'on se cogne la tête contre un pot et que cela sonne creux, ça n'est pas forcément le pot qui est vide.
      Confucius

      Commentaire


      • #4
        Bonjour,

        Merci pour votre attention.

        Deux fois <div id="map"></div> c'est juste une erreur de saisie dans la fichier exemple qui me sert à stocker temporairement mes codes, dans le projet la div n'y est bien qu'une seule fois.

        Bien entendu que je mets la clé API déclarée chez Google. (Sans les guillemets vine entendu autour de "J ai mis ..." c'est juste pour souligner que j'utilise bien la clé APi Google
        Je n'ai pas mise ici cette clé pour éviter qu'elle ne soit utilisée.

        J'ai testé le code dans la console https://jsfiddle.net/api... et il fonctionne bien.

        Voici exactement:


        HTML
        Code HTML:
        <div id="map"></div>
        <script src="https://maps.googleapis.com/maps/api/js?key=XXXXyCkUOdZ5y7hMm0yrcCQoCvLwzdM6M8s5qk&callback=initMap" async defer></script>

        Script
        Code:
        <script>
        var map;
        function initMap() {
          map = new google.maps.Map(document.getElementById('map'), {
            center: {lat: 43.397, lng: 3.844},
            zoom: 17
          });
        }
        </script>
        CSS
        Code:
        #map {
          height: 100%;
        }
        Cela fonctionne dans la console https://jsfiddle.net/api...
        Mais pas sur mon site.

        Cordialement.

        Eric

        Dernière édition par Agrepe à 18/01/2020, 13h21

        Commentaire


        • #5
          Bonjour,
          Je me suis rendu compte que ce que j'avais préparé fonctionne quand je l'insère dans le fichier tmpl/default.php d'un module, mais ne fonctionne pas quand je l'insère dans tmpl/default.php d'un composant.
          Est-ce logique ?
          Cordialement.
          Eric

          Commentaire

          Annonce

          Réduire
          Aucune annonce pour le moment.

          Partenaire de l'association

          Réduire

          Hébergeur Web PlanetHoster
          Travaille ...
          X