IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Angular Discussion :

Appeler un composant Leaflet plusieurs fois


Sujet :

Angular

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 78
    Par défaut Appeler un composant Leaflet plusieurs fois
    Quand j'appelle mon composant une fois ca fonctionne :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <map-affiche [lat]="lat" [lng]="lng"></map-affiche>

    mais quand je l'appelle plusieurs fois j'ai une erreur :
    "Map container is already initialized."
    html :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="map" class="center"></div>

    typescript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
      @Input() lat: number;
      @Input() lng: number;
     
      ngOnInit() {
        const map = L.map('map', {
          center: [this.lat, this.lng],
          zoom: 19,
          attributionControl: false
        });
       }
    Avez vous une idée ? Merciiiiiiiiii

    ps : j'ai essayé de rendre dynamic le container mais en vain :

    html :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="{{ 'map' + id }}" class="center"></div>

    typescript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        let variable = 'map' + this.id;
     
        var map = L.map(this[variable], {
          center: [this.lat, this.lng],
          zoom: 19,
          attributionControl: false
        });

  2. #2
    Membre extrêmement actif
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    private map;
    ...
    ...
     this.map = L.map(....
    ...

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 78
    Par défaut
    Merci beaucoup dukoid !!! Mais rien à faire (même en déclarant la variable en private)... avec plusieurs appels sur ce component j'ai le message ERROR Error: "Map container not found."

  4. #4
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 707
    Par défaut
    n'utilise pas l'ajout de id, ce n'est pas necessaire

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 78
    Par défaut
    Merci @krakatoa !!! Mais si je n'utilise pas les variables dynamiques j'obtiens ce message d'erreur :

    "Map container is already initialized."

    composant père (appelé plusieurs fois) :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <map-affiche [lat]="lat" [lng]="lng"></map-affiche>

    composant enfant :

    html :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="map" class="center"></div>

    typescript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
      @Input() lat: number;
      @Input() lng: number;
     
       private map;
     
      ngOnInit() {
        this.map = L.map('map', {
          center: [this.lat, this.lng],
          zoom: 19,
          attributionControl: false
        });
       }

  6. #6
    Membre extrêmement actif
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
      private map;
    ...
    ...
     
     
        const container = L.DomUtil.get('map');
        if (container != null) {
          container._leaflet_id = null;
        }
     
        this.map = L.map(...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment reproduire un graphique identique plusieurs fois sur excel ?
    Par Lenin dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/01/2011, 16h27
  2. Réponses: 0
    Dernier message: 16/12/2010, 16h38
  3. Réponses: 11
    Dernier message: 02/02/2005, 12h52
  4. [Servlet] Comment utilisé une servlet plusieurs fois ?
    Par gandalf_le_blanc dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 03/06/2004, 14h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo