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 :

Affichage au survol de marqueurs KLM


Sujet :

IGN API Géoportail

  1. #21
    Membre averti Avatar de Zébulon-21
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 392
    Points : 315
    Points
    315
    Par défaut Je crois avoir trouvé
    De mon côté, voici ce que j'obtiens avec la méthode empirique : c'est à dire un mixte de codes à la hussarde et le tout testé uniquement avec IE8.

    Sur l'exemple 1 (popup WINDOW), ça marche mais il reste des petits détails à règler :

    - Pour éviter un affichage confus, il faut légèrement éloigner la popup (au survol) du marqueur mais, ignorant la méthode, j'ai fait l'inverse en modifiant la position du marqueur avec graphicYOffset: 10. De ce fait, la position du marqueur sur la carte est faussée.

    - Descente de la popup dans la barre des tâches lorsque l'on multiplie les clics (sans fermer la précédente popup). C'est peut-être normal ?

    - Le marqueur sur "select" ne s'affiche pas.

    - Comment appliquer le même effet de popup (survol et affichage) sur le tracé ? Actuellement : Rien au survol et "Path" au sélect.



    Sur l'exemple 2 (popup GREYBOX selon l'idée de cmail) :

    - Comment annuler l'affichage de la fenêtre GREYBOX au survol ?


    P.S. : Je fais ça à la "hussarde", donc ne pas hésiter à me signaler les erreurs de code qui foisonnent sans aucun doute : Le contraire tiendrait du miracle

  2. #22
    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 J'ai un peu progressé
    Sur la page http://atlasnw.free.fr/geoportail/ex...l_survol3.html
    les popups s'affichent bien, il y a du vrai html en provenance d'un des champs présents dans le kml.
    D'accord le popup oublie de disparaître ...

  3. #23
    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 Enfin ...
    C'est peut-être enfin correct.
    J'ai l'impression que tant que l'on reste sur la page, le fonctionnement est correct. Par contre, si on navigue dans un autre onglet, au retour il n'y a plus les "select", comportement sous XP/FF 3.0.19

  4. #24
    Membre averti Avatar de Zébulon-21
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 392
    Points : 315
    Points
    315
    Par défaut Presque au but
    Oui, tu touches au but sauf que, en transposant sur des popups contenant du texte, comme ICI, l'accès à plus de contenu demande pas mal de manips :

    1. Fixer la popup en cliquant sur le marqueur,

    2. Cliquer sur un lien dans la popup.

    Cela est sans doute intéressant pour des cas spécifiques mais n'est-il pas plus ergonomique d'obtenir du contenu en cliquant directement sur l'objet qui fait réagir le curseur, comme sur un lien hypertexte ?

    Par contre, il faudrait que la popup au survol ne soit pas déroutante non plus, comme dans cet autre exemple.

    Il faudrait pouvoir modifier le positionnement de la popup au survol mais comment fait-on ?

  5. #25
    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
    Pour "fixer" le (la ?) popup, il suffit de commenter la ligne "removePopup()" du callback "out". Le popup ne disparait que sur la création d'un nouveau popup.

    Je ne comprends "la popup au survol ne soit pas déroutante".

    Pour la position, je sens que cela va être compliqué!

  6. #26
    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
    Citation Envoyé par mga_geo Voir le message
    Pour la position, je sens que cela va être compliqué!
    Commencer avec celle de la souris, non ?

  7. #27
    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 Incompréhension ?!
    A priori je crois que l'objectif serait de disposer des positionnements type 'top-left', 'bottom-right', ... sur Geoportal.Popup

  8. #28
    Membre averti Avatar de Zébulon-21
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 392
    Points : 315
    Points
    315
    Par défaut
    En fait, je me demandais s'il était envisageable que le texte soit accroché au pointeur et qu’il le suive dans son déplacement, du moins tant qu’il est dans le champ du marqueur.

    Par convention dans un lien hypertexte, le texte de l’info-bulle se situe habituellement sous le pointeur et le doigt de la main reste en direction du marqueur ; ce qui signifie bien qu’il s’agit d’un texte secondaire et qu’il y a une suite à donner, comme ceci :


    Est-ce que l’internaute n’est pas perturbé lorsque l’info-bulle est centrée sur le marqueur avec le curseur par-dessus le texte, comme ICI ?

    C’est vrai que la nuance est peut-être subtile mais il y a des maniaques…

  9. #29
    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
    Citation Envoyé par mga_geo Voir le message
    A priori je crois que l'objectif serait de disposer des positionnements type 'top-left', 'bottom-right', ... sur Geoportal.Popup
    Dans le cas de Geoportal.Popup.Anchored, il faut resurcharger la méthode calculateRelativePosition(). Dans l'API, on affiche toujours en 'tr' ...

    Le code dans OpenLayers.Popup.Anchored :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        Geoportal.Popup.Anchored.calculateRelativePosition= function(px) {
            var lonlat = this.map.getLonLatFromLayerPx(px);
    
            var extent = this.map.getExtent();
            var quadrant = extent.determineQuadrant(lonlat);
    
            return OpenLayers.Bounds.oppositeQuadrant(quadrant);
        };

  10. #30
    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
    Citation Envoyé par Zébulon-21 Voir le message
    C’est vrai que la nuance est peut-être subtile mais il y a des maniaques…
    C'est probablement plus compliqué, il faudrait :

    * décaler l'info-bulle avec labelOffsetX, labelOffsetY, voire labelPadding, puis ;
    * intercepter l'événement "mousemove" pour redessiner le label en fonction de la position de la souris ... ce qui reviendrait à détruire l'info-bulle à chaque déplacement et à la redessiner

  11. #31
    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 Geoportal.Popup.Anchored
    J'ai pris Geoportal.Popup plutôt que Geoportal.Popup.Anchored et donc la surcharge ne s'applique pas, snif ...

  12. #32
    Membre averti Avatar de Zébulon-21
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 392
    Points : 315
    Points
    315
    Par défaut
    Citation Envoyé par dgrichard Voir le message
    C'est probablement plus compliqué, il faudrait :

    * décaler l'info-bulle avec labelOffsetX, labelOffsetY, voire labelPadding, puis ;
    * intercepter l'événement "mousemove" pour redessiner le label en fonction de la position de la souris ... ce qui reviendrait à détruire l'info-bulle à chaque déplacement et à la redessiner
    Bigre ! Ça être trop complexe et moi pas savoir faire.
    Si un bienfaiteur surdoué voulait bien faire démonstration...


    Citation Envoyé par mga_geo Voir le message
    J'ai pris Geoportal.Popup plutôt que Geoportal.Popup.Anchored et donc la surcharge ne s'applique pas, snif ...
    Voici un exemplaire basé sur Geoportal.Popup.Anchored, en espérant que cela donne envie à mga_geo de poursuivre…

  13. #33
    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 Merci ...
    Après les vacances et le soleil, retour au travail et à la pluie ...
    Je vais essayer d'intégrer cette utilisation de "Anchored".

  14. #34
    Membre averti Avatar de Zébulon-21
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 392
    Points : 315
    Points
    315
    Par défaut Après un certain temps...
    Citation Envoyé par dgrichard Voir le message
    Dans le cas de Geoportal.Popup.Anchored, il faut resurcharger la méthode calculateRelativePosition(). Dans l'API, on affiche toujours en 'tr' ...

    Le code dans OpenLayers.Popup.Anchored :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        Geoportal.Popup.Anchored.calculateRelativePosition= function(px) {
            var lonlat = this.map.getLonLatFromLayerPx(px);
    
            var extent = this.map.getExtent();
            var quadrant = extent.determineQuadrant(lonlat);
    
            return OpenLayers.Bounds.oppositeQuadrant(quadrant);
        };
    Hélas, j'y ai passé un temps certains mais sans réussir à régler la position des popups, que ce soit avec Anchored ou avec Framedcloud.

    Mince consolation, il me semble que mga_geo en est au même point ici ?

    Pour résumer, la question d’aspect est presque secondaire car il y a aussi des difficultés au survol et au select lorsque la popup chevauche le marqueur.

    Le phénomène est flagrant avec l'inversion de la popup en moitié inférieure de carte (réaction du pointeur par intermittence).

    Y aurait-il une autre piste ?

  15. #35
    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
    Citation Envoyé par Zébulon-21 Voir le message
    Hélas, j'y ai passé un temps certains mais sans réussir à régler la position des popups, que ce soit avec Anchored ou avec Framedcloud.
    Pourtant, cela fonctionne, qu'est-ce qui ne fonctionne pas de ton point de vue ?

    Citation Envoyé par Zébulon-21 Voir le message
    Pour résumer, la question d’aspect est presque secondaire car il y a aussi des difficultés au survol et au select lorsque la popup chevauche le marqueur.

    Le phénomène est flagrant avec l'inversion de la popup en moitié inférieure de carte (réaction du pointeur par intermittence).
    Ok, je comprends mieux ...

    [/QUOTE]Y aurait-il une autre piste ? [/QUOTE]

    Ancrer la popup plus loin pour éviter ces effets ?!

  16. #36
    Membre averti Avatar de Zébulon-21
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 392
    Points : 315
    Points
    315
    Par défaut
    Citation Envoyé par dgrichard Voir le message
    Dans le cas de Geoportal.Popup.Anchored, il faut resurcharger la méthode calculateRelativePosition(). Dans l'API, on affiche toujours en 'tr' ...
    Le code dans OpenLayers.Popup.Anchored :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        Geoportal.Popup.Anchored.calculateRelativePosition= function(px) {
            var lonlat = this.map.getLonLatFromLayerPx(px);
            var extent = this.map.getExtent();
            var quadrant = extent.determineQuadrant(lonlat);
            return OpenLayers.Bounds.oppositeQuadrant(quadrant);
        };
    Ce sujet aurait presque mérité d'être scindé en 2 parties.

    1) Sur le règlage de la position de l'info-bulle si l'on souhaite qu'elle soit "attachée" au pointeur, mais il semblerait que l'on soit restés le bec dans l'eau avec cette surcharge proposée ci-dessus. Mais je ne désespère pas qu'un plus doué que moi sache en tirer parti.


    2) Sur le règlage de la position de l'info-bulle si l'on souhaite qu'elle soit "attachée" au marqueur, mais là aussi je tourne en rond.
    Citation Envoyé par dgrichard Voir le message
    Y aurait-il une autre piste ?
    Ancrer la popup plus loin pour éviter ces effets ?!
    En examinant la Framedcloud, j'ai découvert (faut bien débuter) que son aspect variait selon un découpage de la carte en 4 quadrants.
    Pour reprendre le problème du chevauchement de la popup avec le marqueur, si l'on corrige la position, c'est l'ensemble des popups qui en sont affectées et donc... on reporte l'anomalie sur les marqueurs qui auparavant fonctionnaient bien, comme ici.

    En clair, il faudrait pouvoir agir uniquement sur la position des info-bulles de la moitié inférieure, mais est-ce réalisable ?

    Je n'ai trouvé aucun semblant de solution sur le web

  17. #37
    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
    Citation Envoyé par Zébulon-21 Voir le message
    Ce sujet aurait presque mérité d'être scindé en 2 parties.

    1) Sur le règlage de la position de l'info-bulle si l'on souhaite qu'elle soit "attachée" au pointeur, mais il semblerait que l'on soit restés le bec dans l'eau avec cette surcharge proposée ci-dessus. Mais je ne désespère pas qu'un plus doué que moi sache en tirer parti.
    La surcharge en question est celle du code d'OpenLayers.Popup.Anchored


    Citation Envoyé par Zébulon-21 Voir le message
    2) Sur le règlage de la position de l'info-bulle si l'on souhaite qu'elle soit "attachée" au marqueur, mais là aussi je tourne en rond.


    En examinant la Framedcloud, j'ai découvert (faut bien débuter) que son aspect variait selon un découpage de la carte en 4 quadrants.
    Pour reprendre le problème du chevauchement de la popup avec le marqueur, si l'on corrige la position, c'est l'ensemble des popups qui en sont affectées et donc... on reporte l'anomalie sur les marqueurs qui auparavant fonctionnaient bien, comme ici.

    En clair, il faudrait pouvoir agir uniquement sur la position des info-bulles de la moitié inférieure, mais est-ce réalisable ?

    Je n'ai trouvé aucun semblant de solution sur le web
    Je ne dis pas que c'est simple, juste qu'il faut s'y atteler ...

  18. #38
    Membre averti Avatar de Zébulon-21
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 392
    Points : 315
    Points
    315
    Par défaut Confusion
    Citation Envoyé par dgrichard Voir le message
    La surcharge en question est celle du code d'OpenLayers.Popup.Anchored
    Hé oui Dgrichard, et c'est pourquoi j'avais pris la précaution d'indiquer dans mon précédent message : « Ce sujet aurait presque mérité d'être scindé en 2 parties ».

    La surcharge a bien été testée (sans succès), pour que l'info-bulle soit "attachée" au pointeur, avec OpenLayers.Popup.Anchored :

    - Par moi-même sur cette page,

    - Par Mga_geo sur celle-ci.

  19. #39
    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
    Citation Envoyé par Zébulon-21 Voir le message
    Hé oui Dgrichard, et c'est pourquoi j'avais pris la précaution d'indiquer dans mon précédent message : « Ce sujet aurait presque mérité d'être scindé en 2 parties ».
    Fallait lire entre les lignes

    Citation Envoyé par Zébulon-21 Voir le message
    La surcharge a bien été testée (sans succès), pour que l'info-bulle soit "attachée" au pointeur, avec OpenLayers.Popup.Anchored :

    - Par moi-même sur cette page,

    - Par Mga_geo sur celle-ci.

    C'est moins flagrant avec mga_geo car la carte est plus grande ...
    Le problème vient peut être de la taille de la popup et des marges prises autour pour « centrer » cette dernière en largeur ?

  20. #40
    Membre averti Avatar de Zébulon-21
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 392
    Points : 315
    Points
    315
    Par défaut
    Citation Envoyé par dgrichard Voir le message
    C'est moins flagrant avec mga_geo car la carte est plus grande ...
    Le problème vient peut être de la taille de la popup et des marges prises autour pour « centrer » cette dernière en largeur ?
    Ta réponse soulève un doute, d'autant plus que j'ai une compréhension du code vraiment très très sommaire.

    La surcharge que tu nous a concoctée pour OpenLayers.Popup.Anchored est-elle vraiment destinée à fixer l'info-bulle sur le pointeur, plutôt que sur le marqueur comme habituellement ?

    Car même l'exemple fourni par mga_geo ne révèle aucune avancée dans ce sens ? ?

Discussions similaires

  1. [Google Maps] Affichage d'uniquement 10 marqueurs
    Par zazze69 dans le forum APIs Google
    Réponses: 3
    Dernier message: 25/11/2012, 17h34
  2. Affichage au survol du point
    Par kobeddl dans le forum ODS et reporting
    Réponses: 4
    Dernier message: 26/06/2012, 10h00
  3. Affichage au survol avec OpenLayers.Control.SelectFeature
    Par mga_geo dans le forum IGN API Géoportail
    Réponses: 5
    Dernier message: 30/04/2010, 10h28
  4. Affichage d'infobulle sur marqueur
    Par OLman135 dans le forum APIs Google
    Réponses: 2
    Dernier message: 22/06/2009, 09h42
  5. affichage au survol de la souris
    Par tarang dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 12/07/2007, 12h50

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