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

IGN API Géoportail Discussion :

Mettre une infobulle sur un marqueur


Sujet :

IGN API Géoportail

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 65
    Points : 28
    Points
    28
    Par défaut Mettre une infobulle sur un marqueur
    Bonjour!

    Voila mon problème est simple je voudrais pouvoir mettre une infobulle lorsqu'on clique sur un marqueur. Je n'ai pas trouvé d'exemple de la sorte sur le site ign, le seul exemple présent est une infobulle persistante et qui plus est pas sur le click d'un marqueur (ici : https://api.ign.fr/geoportail/presen...ionSubjectId=2)

    Est ce possible?

    le code de mon marqueur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
                OpenLayers.Lang.setCode('fr');
    
                var coucheMarqueurs = new OpenLayers.Layer.Markers("marqueur");
                maCarte.getMap().addLayer(coucheMarqueurs);
    
                var position = new OpenLayers.LonLat(Args.Lng, Args.Lat);
                var projL93 = new OpenLayers.Projection("IGNF:RGF93G");
                position.transform(projL93, maCarte.getMap().getProjection());
                var marqueur = new OpenLayers.Marker(position);
                coucheMarqueurs.addMarker(marqueur);
    Merci bcp!

  2. #2
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 65
    Points : 28
    Points
    28
    Par défaut
    Vraiment personne?

    j'ai un peu avancé en faisant ceci mais la popup ne s'affiche toujours pas....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
         var coucheMarqueurs = new OpenLayers.Layer.Markers("marqueur");
                maCarte.getMap().addLayer(coucheMarqueurs);
    
                var position = new OpenLayers.LonLat(Args.Lng, Args.Lat);
                var projL93 = new OpenLayers.Projection("IGNF:RGF93G");
                position.transform(projL93, maCarte.getMap().getProjection());
                var marqueur = new OpenLayers.Marker(position);
    
                //alert
                //marqueur.events.register('mousedown', marqueur, function(evt) { alert('ok'); OpenLayers.Event.stop(evt); });
                
                coucheMarqueurs.addMarker(marqueur);
                var popup, Feature, markers;
    
                //essai de popup
    
                coucheMarqueurs.events.register("mousedown", marqueur, function(evt) {
                    if (popup == null) {
                        Feature = new OpenLayers.Feature(null, new OpenLayers.LonLat(Args.Lng, Args.Lat));
                        popup = Feature.createPopup(true);
                        popup.setContentHTML("<div>TEST</div>");
                        popup.setBackgroundColor("white");
                        popup.setOpacity(0.7);
                        coucheMarqueurs.map.addPopup(popup);
                    } else {
                        popup.toggle();
                    }
                    OpenLayers.Event.stop(evt);
                });

  3. #3
    Expert confirmé
    Homme Profil pro
    Ingénieur cartographe
    Inscrit en
    Avril 2009
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur cartographe
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 173
    Points : 4 224
    Points
    4 224
    Par défaut
    A priori, remplace :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    coucheMarqueurs.events.register("mousedown",  marqueur, function(evt) {...
    par:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    marqueur.events.register('mousedown', marqueur, function(evt) {...
    puis, dans le code du callback :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    if (this.feature==null) {
      this.feature= new OpenLayers.Feature(coucheMarqueurs,this.lonlat.clone(),
        {
           popupSize: new OpenLayers.Size(100,100),
           popupContentHTML: "<div>TEST</div>"
        });
      this.feature.createPopup(true);
      this.feature.popup.setBackgroundColor("white");
      this.feature.popup.setOpacity(0.7);
      coucheMarqueurs.map.addPopup(this.feature.popup);
    } else {
      this.feature.popup.toggle();
    }
    OpenLayers.Event.stop(evt);
    J'ai testé avec OpenLayers 2.8 et cela fonctionne ...

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 65
    Points : 28
    Points
    28
    Par défaut
    Merci bcp pour ton aide ça marche impécable

  5. #5
    Membre du Club
    Développeur informatique
    Inscrit en
    Septembre 2008
    Messages
    102
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 102
    Points : 65
    Points
    65
    Par défaut
    Bonjour,
    même souci que 404error : les popups ne s'affichent pas : sur cette page...
    Sous FF je vois bien les marqueurs, mais sous IE la page part en vrille (on dirait qu'il y a une boucle sur le serveur....)

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    2 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 124
    Points : 1 764
    Points
    1 764
    Par défaut
    Avec Firebug, j'ai une erreur:
    popup is not defined
    http://lpivtt.free.fr/visu_spots.php
    Line 1229

  7. #7
    Membre du Club
    Développeur informatique
    Inscrit en
    Septembre 2008
    Messages
    102
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 102
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par mga_geo Voir le message
    Avec Firebug, j'ai une erreur:
    Exact, je ne l'avais pas vue... Mon firebug était mal configuré.
    Merci pour le tuyau, j'ai bien le popup

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

Discussions similaires

  1. mettre une infobulle sur un noeud en particulier
    Par mattmax dans le forum VB.NET
    Réponses: 5
    Dernier message: 01/02/2013, 16h22
  2. Infobulle sur les marqueurs d'une carte
    Par cocomatt dans le forum APIs Google
    Réponses: 0
    Dernier message: 21/02/2010, 18h32
  3. comment mettre une infobulle image sur une image
    Par nicol dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/08/2008, 18h00
  4. mettre une JScrollBar sur un onglet
    Par thedd dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 02/03/2004, 20h12
  5. [VB6] mettre une image sur un boutton
    Par dim dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 15/02/2004, 01h28

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