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 la couleur d"un marqueur [LeafLet]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 189
    Points : 79
    Points
    79
    Par défaut Changer la couleur d"un marqueur
    Bonjour

    Avant de venir ici poser la question du changement de couleur de marqueur j'ai bien évidement regardé sur le net mais je ne comprend certaines choses en faite surtout sur la doc de Leaflet...

    Déjà je voulais simplement changer la couleur du marqueur d'origine et non le changer mais je crois comprendre que ce n'est pas possible....

    Partons sur le changement, sur la doc ils disent :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var greenIcon = L.icon({
        iconUrl: 'leaf-green.png',
        shadowUrl: 'leaf-shadow.png',
     
        iconSize:     [38, 95], // size of the icon
        shadowSize:   [50, 64], // size of the shadow
        iconAnchor:   [22, 94], // point of the icon which will correspond to marker's location
        shadowAnchor: [4, 62],  // the same for the shadow
        popupAnchor:  [-3, -76] // point from which the popup should open relative to the iconAnchor
    });
    Sauf qu'il y a une étape que je ne comprend pas... qu'elles sont ces png ? est ce qu'il y a une taille max pour que ca soit pris en compte ? et ou doivent elles être stocké ? J'ai essayé d'en mettre à la racine de mon projet, au même niveau que mon script.js mais je n'ai aucun résultat... soit j'ai toujours le marqueur de Leaflet soit je n'ai tout simplement aucun marqueur :

    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
     
    function addCoor(deno, nom, long, lat){
        var map = L.map('mapid').setView([lat, long], 13);
     
        L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(map);
     
    var redIcon = L.icon({
            inconUrl:'red5.png',
            iconSize:     [38, 95], 
            iconAnchor:   [22, 94], 
            popupAnchor:  [-3, -76]
        });
        if(deno == null){
            L.marker([lat, long], {icon: redIcon}).addTo(map)
            .bindPopup(nom)
            .openPopup();
        }else{
            L.marker([lat, long]).addTo(map)
            .bindPopup(deno)
            .openPopup();
        }
    }
    Après j'ai cru lire aussi qu'il fallait ajouter des extensions mais la ils m'ont complètement perdu parce que j'ai peur de ne pas savoir faire ce genre de manip...

    Donc merci d'avance de m'éclairer sur ce sujet

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    il y a un exemple là avec des images personnalisées :
    https://leafletjs.com/examples/custom-icons/
    le chemin de l'image est un chemin relatif à l'URL où est affiché le plan mais vous pouvez aussi mettre un URL absolu.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 189
    Points : 79
    Points
    79
    Par défaut
    C'est sur cette même page que j'ai pris mon exemple et c'est cette même page que je ne comprend pas finalement....

    "le chemin de l'image est un chemin relatif à l'URL où est affiché le plan mais vous pouvez aussi mettre un URL absolu."
    J'ai peur de ne pas comprendre... Moi j'aimerais juste changer ce pointeur... Donc pour changer le pointeur ca passe par l'url ? Mais les png sont bien quelques part ?

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    un URL relatif ça veut dire que si votre plan est à l'adresse "https://....../plans/travaux/test1.php" et que vous indiquez pour l'image "icone1.png" alors l'image sera cherchée à l'URL "https://....../plans/travaux/icone1.png".
    ça donne les correspondances suivantes :
    • "icone1.png" -> "https://....../plans/travaux/icone1.png"
    • "images/icone1.png" -> "https://....../plans/travaux/images/icone1.png"
    • "../images_globales/icone1.png" -> "https://....../plans/images_globales/icone1.png"


    et donc cela se réfère à une image que vous avez placée vous même sur un de vos hébergements.


    ensuite pour voir quel URL est utilisé, vous pouvez utiliser l'onglet "Réseau" de la console de développement de votre navigateur.
    par exemple avec Firefox, faites Ctrl + Maj + E
    https://developer.mozilla.org/fr/doc...ur_r%C3%A9seau

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 189
    Points : 79
    Points
    79
    Par défaut
    Dans mon cas je travail en locale pour le moment et quand je lance une requête pour avoir la carte Leaflet avec le pointeur j'ai "http://localhost/monsite/index.php"
    Et donc, en suivant mon code, pour avoir mon pointeur je doit avoir "http://localhost/monsite/red5.png" ?

    Je comprend pas....

  6. #6
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    oui c'est ça. vous mettez l'image dans le répertoire "monsite" et ensuite dans le code vous indiquez "red5.png".

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 189
    Points : 79
    Points
    79
    Par défaut
    Alors oui effectivement quand je met l'image dans le dossier mon site et que je tape localhost/monsite/red5.png j'ai bien mon image...
    Sauf que c'est pas ca que je demande !!
    Je veux utiliser ce png sur leaflet et donc sur ma requete...
    Ou alors je comprend pas

  8. #8
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    Citation Envoyé par mathieu Voir le message
    et ensuite dans le code vous indiquez "red5.png".
    je parlais du code javascript qui affiche le plan.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 189
    Points : 79
    Points
    79
    Par défaut
    Mais je l'ai déjà mis dans mon code JS dans la fonction "addCoor"
    J'ai bien le png dans le dossier "monsite"
    et j'ai bien créé la variable "redIcon" qui fait appelle à ce png !

    Alors attention ! Il faut savoir que la fonction addCoor est appelé dans une requête AJAX vers un fichier PHP qui lui même fait la requête vers une API !! Je sais pas si ça change beaucoup la donne..

  10. #10
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    est ce normal de lire :
    et non pas

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 189
    Points : 79
    Points
    79
    Par défaut
    pffff ok! Le souci venait d'une faute de frappe...
    Merci à vous pour votre aide

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

Discussions similaires

  1. changement des couleurs
    Par elkhansa dans le forum QlikView
    Réponses: 4
    Dernier message: 27/07/2011, 15h11
  2. [JColorChooser] changement des couleurs de fond
    Par JMLLB dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 26/04/2007, 10h43
  3. [XSL/CSS] Changement de couleur une ligne sur deux
    Par FlyByck dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 08/09/2006, 20h20
  4. changement des couleurs par appuis sur case à cocher
    Par Wormus dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 10/10/2005, 23h05
  5. Changement de couleur de police sur une partie d'un caption
    Par kobe dans le forum Composants VCL
    Réponses: 3
    Dernier message: 11/07/2005, 10h18

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