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

Bibliothèques & Frameworks Discussion :

Changer option polyline au survol souris [LeafLet]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Nouveau membre du Club Avatar de jac83
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2011
    Messages : 71
    Points : 39
    Points
    39
    Par défaut Changer option polyline au survol souris
    Bonjour,
    j'utilise Leaflet pour afficher les parcours des membres de mon site dédié au vtt. Sur la carte apparaissent donc les tracés des membres (format gpx) ainsi qu'une icône au point de départ. Si on clique sur les tracés, une popup s'ouvre avec des infos sur le tracé et un lien vers la description du parcours. Jusque là tout va bien. J'aimerai maintenant qu'au survol de la trace par la souris (mouseover) la trace change de couleur et d'épaisseur pour bien la visualiser (sinon pour des traces proches tout se mélange). dans mon code, les gpx ont pour nom gpxblue, gpxred et gpxblack en fonction de la difficulté du parcours. J'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    gpxred.on('mouseover', function (e) {
        new L.GPX(trace, {async: true, polyline_options: {
              color: 'black',
                    weight: 8,
                    opacity: 1
          }}).addTo(map);
    });
    à la suite de l'affichage de gpxred ... le parcours augmente bien d'épaisseur et change bien de couleur ... mais plus de popup et lorsque la souris ne survole plus le tracé il ne revient pas à la couleur d'origine (j'ai essayé de rajouter un gpxred.on('mouseout' ... rien y fait .
    Ca fait un moment que je me prends la tête un poil d'aide me fera du bien

    >>>voir le fichier de test ... avec une 20aine de tracé

    cordialement

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 119
    Points : 44 954
    Points
    44 954
    Par défaut
    Bonjour,
    j'ai un peu de mal à comprendre ce que tu essaies de faire, créer un nouveau Layer au mouseover ou changer le style de celui survolé ?

    J'aurais plutôt vu la 2éme solution en chainant les événements
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    gpxred.on('mouseover', function (e) {
      this.setStyle({
        color: 'black',
        weight: 8,
        opacity: 1
      })
    }).on('mouseout', function () {
      this.setStyle({
        color: 'red',
        weight: 8,
        opacity: 0.7
      });
    });

  3. #3
    Nouveau membre du Club Avatar de jac83
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2011
    Messages : 71
    Points : 39
    Points
    39
    Par défaut
    Bonjour NoSmoking,
    effectivement à la vue du code que j'ai inscrit on pouvait penser que je voulais créer un autre layer. Mais tu as bien vu ce que je voulais c'était bien la 2ème solution . Je viens de mettre en place la solution proposée ... qui marche à merveille, merci.
    >>la preuve en image
    ... Il ne me reste plus qu'à trouver le moyen de faire un zoom sur une zone délimitée avec la souris pour agrandir un "lieu" où il y a des traces .
    je mets donc la dicussion en résolu.

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 119
    Points : 44 954
    Points
    44 954
    Par défaut
    Il ne me reste plus qu'à trouver le moyen de faire un zoom sur une zone délimitée avec la souris...
    Grand veinard cela existe dans leaflet, il te suffit de rajouter dans les options de ta carte boxZoom: true, et d'enfoncer la touche SHIFT en cliquant sur la carte pour qu'une zone de zoom apparaisse.

  5. #5
    Nouveau membre du Club Avatar de jac83
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2011
    Messages : 71
    Points : 39
    Points
    39
    Par défaut
    Bonjour NoSmoking,

    j'ai pourtant lu la documentation ... pas suffisamment apparemment .( J'avais regardé dans la doc sur le zoom et pasdans les options carte ... où c'est bien inscrit avec la manière de s'en servir)
    encore une fois merci, ça fonctionne
    cordialement

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

Discussions similaires

  1. Changer d'image quand la souris survole la zone
    Par laurentSc dans le forum Balisage (X)HTML et validation W3C
    Réponses: 20
    Dernier message: 06/02/2009, 09h37
  2. Changer l'icône de la souris lors du survol d'une image
    Par Jawad-smart dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 23/06/2008, 23h48
  3. Réponses: 5
    Dernier message: 18/06/2008, 17h06
  4. Réponses: 2
    Dernier message: 18/02/2008, 14h32
  5. Réponses: 2
    Dernier message: 21/10/2006, 20h58

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