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 :

css d'une popup


Sujet :

IGN API Géoportail

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 108
    Par défaut css d'une popup
    comment preciser le css des .gpPopup .gpPopupContent .gpPopupHead uniquement pour une couche donnée (donc hors style en haut de page html).

    y a t il une doc ou un exemple?

    merci

  2. #2
    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
    Par défaut
    Citation Envoyé par christian.bleau Voir le message
    comment preciser le css des .gpPopup .gpPopupContent .gpPopupHead uniquement pour une couche donnée (donc hors style en haut de page html).
    Bonne question ... c'est pas possible sans surcharger le Javascript
    En effet, la structure d'une popup ne prend pas en compte la couche ...

    Citation Envoyé par christian.bleau Voir le message
    y a t il une doc ou un exemple?
    De fait, non ...

    Mais, il "suffit" de surcharger la méthode qui crée les popups

    KML: voir Geoportal.Popup.createPopUpForKMLFeature
    GPX: voir Geoportal.Popup.Anchored.createPopUpForGPXFeature
    WFS: voir Geoportal.Popup.Anchored.createPopUpForGMLFeature
    GeoRSS: voir Geoportal.Popup.Anchored.createPopUpForGeoRSSFeature

    La surcharge peut s'effectuer via l'option onFeatureInsert :

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    ...
    onFeatureInsert: function(feature) {
        feature.createPopup= OpenLayers.Function.bind(function(f) {
            /* code de la fonction pour GPX (Geoportal.Popup.Anchored.createPopUpForGPXFeature) : */
            var opts= OpenLayers.Util.extend({},this.layer.formatOptions);
            OpenLayers.Util.applyDefaults(
                opts,{
                    size:this.layer.map.getSize(),
                    closeBox:true,
                    onPopupClose:Geoportal.Popup.onPopupClose,
                    backgroundColor:'#ffffff',
                    opacity:0.75
                });
            var popupClass= this.layer.formatOptions && this.layer.formatOptions.popupClass?
                this.layer.formatOptions.popupClass
            :   Geoportal.Popup.Anchored;
            var tempText= (this.attributes.desc? this.attributes.desc+"<br/>":"");
            tempText+= (this.attributes.cmt? this.attributes.cmt+"<br/>":"");
            tempText+= (this.attributes.ele? this.attributes.ele:"");
            tempText= Geoportal.Util.cleanContent(tempText);
            var popup= new popupClass(
                "chicken",
                this.geometry.getBounds().getCenterLonLat(),
                //taille devra s'adapter au contenu
                this.layer.map.getSize(),
                 "<div class='gpPopupHead gpGPX'>" +
                    (this.attributes.name? this.attributes.name:"") +
                 "</div>" +
                 "<div class='gpPopupBody gpGPX'>" +
                    tempText +
                 "</div>",
                null,
                opts.closeBox,
                opts.backgroundColor,
                opts.opacity,
                opts.onPopupClose,
                this
            );
            popup= Geoportal.Popup.completePopup(popup,this.layer.formatOptions);
            this.popup= popup;
            return this.popup;
        },feature);
    }
    ...
    A toi de jouer

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 108
    Par défaut
    merci je fouille le sujet.

  4. #4
    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
    Par défaut Plus simple
    Citation Envoyé par christian.bleau Voir le message
    merci je fouille le sujet.
    Il y a une autre soluce (en fouillant moi aussi) : il suffit dans la définition de la couche d'indiquer la classe CSS pour les popups ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    var gpx= viewer.getMap().addLayer(
        "GPX",
        "Nom de la couche",
        "url",
        {//paramétres
            ...
        },{//options
            formatOptions:{
                displayClass:'maSuperCSS'
                ...
            }
            ...
        });

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 108
    Par défaut
    tu vas trop vite pour moi

    j'essayai à l'instant d'inclure des fragments d'html dans le gpx
    et je remarque que c'est efficace pour le texte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <desc><![CDATA[<font size='1'><b>71.1 Rocher du Général<br/><a href='#' onClick='pop2()'><font color='yellow'>Jaune N°2 PD <br/></a><a href='#'  onClick='pop1()'><font color='blue'>Bleu N°1 TD-</b></a>]]></desc>
    les appels de popup pour d'autres fenêtres fonctionnent aussi.

    Reste donc à bosser la structure de la Box à suivre ....... et merci

  6. #6
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Par défaut
    As-tu fait une recherche sur le forum avec le mot "infobulle" traduction française de popup?
    Il y a quelques fils qui devraient t'intéresser...
    Bon travail!

  7. #7
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Par défaut
    Sinon, il y a aussi le site http://www.utagawavtt.com/gmap/geopo...rale-topos-vtt qui gère bien les "infobulles"

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 108
    Par défaut
    Merci pour le coup de pouce .........

    Oui oui avant de poser la question j'ai sillonnée le forum et notamment ce postdans lequel tu donnais dejà des pistes pour les survol de wpts et autres traces. le site de zebulon-21 et aussi très bien codé sur ce point.

    J'en ai encore mal à la tête mais j'arriverai à contrarier les class de type gpPopupHead gpGPX et compagnie ............

    mais vu mon inexperience en javascript cela va me prendre un peu de temps.




    merci encore

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

Discussions similaires

  1. [Form et popup] target d'un form ouvert dans une popup
    Par Flobel dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 19/01/2007, 22h05
  2. Envoyer résultat d'une popup vers son window.parent
    Par LFC dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 05/12/2004, 12h18
  3. [FLASH MX 2004] Acceder aux variables d'une Popup
    Par freegreg dans le forum Flash
    Réponses: 3
    Dernier message: 05/05/2004, 22h13
  4. [VB.NET] Fermer une popup depuis une webform ?
    Par Nycos62 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 27/04/2004, 11h19
  5. Réponses: 4
    Dernier message: 05/04/2004, 11h09

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