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 intempestif de numéros sur les événements kml


Sujet :

IGN API Géoportail

  1. #1
    Membre du Club
    Géomatique appliquée à la gestion routière
    Inscrit en
    Janvier 2011
    Messages
    51
    Détails du profil
    Informations professionnelles :
    Activité : Géomatique appliquée à la gestion routière
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2011
    Messages : 51
    Points : 46
    Points
    46
    Par défaut Affichage intempestif de numéros sur les événements kml
    Bonjour,

    Des valeurs numériques qui ne devraient pas s'afficher apparaissent sur les cartes : voir exemple.

    J'ai également mis une capture d'écran en pièce jointe.

    Merci
    Images attachées Images attachées  

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Août 2010
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 177
    Points : 191
    Points
    191
    Par défaut
    Bonjour,

    Les numéros sont présent sous explorer 9, opéra 11.11 et chrome 12, mais pas sous firefox 4.01 le tout avec windows 7 64.

    Il y a eu, je crois, un problème similaires il y a quelques semaines et la solution était un paramètre skip attribute à ajouter.

    J'ai fait une recherche rapide sans retrouver le post, désolé.

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 119
    Points : 1 764
    Points
    1 764
    Par défaut
    Le kml contient l'information:
    <Placemark>
    <name><![CDATA[39]]></name>
    <Snippet maxLines="2"></Snippet>
    <description><![CDATA[D32 PR27+0 au PR27+600<br />Courtenay<br />Inspection du pont de l'A19<br />Circulation alternée<br />27/06/2011 au 08/07/2011<br /><a href="#" onclick="viewer.getMap().setCenterAtLonLat(3.03481572369671 , 48.040016247893, 14); return false;">Zoom vers ce lieu</a>


    ]]></description>
    <styleUrl>#INFO_POINTS</styleUrl>
    Le code html de la page http://www.loiret.com/les-travaux-ro...htm?RH=ACCUEIL contient beaucoup d'espaces ...


    Il est plus facile de tester avec cette url: http://www.loiret.com/html/cg45/api_...tiers_gen.html

  4. #4
    Membre averti
    Femme Profil pro
    Consultante SIG
    Inscrit en
    Mars 2011
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultante SIG

    Informations forums :
    Inscription : Mars 2011
    Messages : 233
    Points : 356
    Points
    356
    Par défaut
    Bonjour,

    Le style "INFO_POINTS" contient la balise
    <LabelStyle>
    <color>00000000</color>
    </LabelStyle>
    en remplaçant cette couleur par ffffff , ces chiffres correspondant à la balise <name> ne s'affichent plus.

  5. #5
    Membre averti
    Femme Profil pro
    Consultante SIG
    Inscrit en
    Mars 2011
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultante SIG

    Informations forums :
    Inscription : Mars 2011
    Messages : 233
    Points : 356
    Points
    356
    Par défaut
    Après quelques tests, il s'avère que OpenLayers ne gère pas la transparence totale du type texte.
    Une solution rapide serait d'utiliser la couleur 01ffffff: les chiffres ne sont pas totalement transparents mais on ne les voit pas.
    Une autre solution serait de supprimer tout simplement la balise <LabelStyle>

  6. #6
    Membre du Club
    Géomatique appliquée à la gestion routière
    Inscrit en
    Janvier 2011
    Messages
    51
    Détails du profil
    Informations professionnelles :
    Activité : Géomatique appliquée à la gestion routière
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2011
    Messages : 51
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par zainab_k Voir le message
    Après quelques tests, il s'avère que OpenLayers ne gère pas la transparence totale du type texte.
    Une solution rapide serait d'utiliser la couleur 01ffffff: les chiffres ne sont pas totalement transparents mais on ne les voit pas.
    Une autre solution serait de supprimer tout simplement la balise <LabelStyle>
    Super, merci.

    J'aimerais quand même bien comprendre ce qu'il s'est passé au niveau de l'api.

  7. #7
    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 hm7845 Voir le message
    J'aimerais quand même bien comprendre ce qu'il s'est passé au niveau de l'api.
    Rien

    Plus précisemment :

    * Si le KML contient des styles, ils sont analysés et appliqués aux objets (sauf contre-ordre) surtout ceux qui l'impose (styleUrl) ;
    * Si les styles utilisent BaloonStyle ceux-ci prennent la main sur le fonctionnement par défaut (puisque c'est le KML qui contient les règles d'affichage).

    De plus, les champs name et description ont une signification spéciale dans le KML et ne sont pas traités comme les autres "attributs"

    As-tu, de ton côté, changer la structure des KML ?

  8. #8
    Membre du Club
    Géomatique appliquée à la gestion routière
    Inscrit en
    Janvier 2011
    Messages
    51
    Détails du profil
    Informations professionnelles :
    Activité : Géomatique appliquée à la gestion routière
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2011
    Messages : 51
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par dgrichard Voir le message
    As-tu, de ton côté, changer la structure des KML ?
    Justement, je n'avais rien changé aux kml. D'ailleurs ça fait pareil sur mon ordi ubuntu à la maison avec un ancien kml qui date d'avant le 28 mai.

    sauf contre-ordre
    Y aurait-il un code simple qui permettrait de désactiver ce <LabelStyle>, pour éviter de corriger à la main chaque nouveau kml ?

    En tout cas, encore merci pour le coup de main du forum.

  9. #9
    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 hm7845 Voir le message
    Y aurait-il un code simple qui permettrait de désactiver ce <LabelStyle>, pour éviter de corriger à la main chaque nouveau kml ?
    Je désactiverai plutôt <styleUrl> sinon tu auras un KML incorrect

    Comme tu as une ubuntu, un script sed fera l'affaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sed -e 's/<\(styleUrl.*styleUrl\)>/<!--\1-->/' fichier.kml > fichiermodifié.kml
    tu peux ajouter l'option -i pour modifier directement le kml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sed -i -e 's/<\(styleUrl.*styleUrl\)>/<!--\1-->/' fichier.kml
    Edit: cependant si tu enlèves les styles, il faudra les mettre via l'API ... Je préfèrerais donc ne pas enlever les styleUrl Au passsage, il y en une erreur 404 sur le second KML (déviations)

  10. #10
    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 trukker Voir le message
    Les numéros sont présent sous explorer 9, opéra 11.11 et chrome 12, mais pas sous firefox 4.01 le tout avec windows 7 64.
    Moi, cà marche (sans les numéros) sous chrome 12 (linux)

  11. #11
    Membre du Club
    Géomatique appliquée à la gestion routière
    Inscrit en
    Janvier 2011
    Messages
    51
    Détails du profil
    Informations professionnelles :
    Activité : Géomatique appliquée à la gestion routière
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2011
    Messages : 51
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par dgrichard Voir le message
    un script sed fera l'affaire
    En fait, j'ai mal posé la question. Je pensais plutôt à une option à ajouter au code javascript de la carte. Option qui commanderait à l'api de ne pas afficher cette donnée <name><![CDATA[xxx]]></name>. Mais à condition que ça n'augmente pas trop la complexité du javascript de la carte. De toute façon, on intervient déjà dans le kml (exporté à partir d'Arcmap) avec un éditeur de texte pour corriger le symbole, sa taille, de temps en temps la couleur des styles et à chaque fois le codage des caractères.

    L'esprit est de rester dans une utilisation de l'api la plus basique possible, parce que d'abord, je n'ai pas le niveau pour faire mieux, et pour assurer la continuité du service en permettant la maintenance des pages par des non spécialistes.

    Citation Envoyé par dgrichard Voir le message
    Au passage, il y en une erreur 404 sur le second KML (déviations)
    Le kml déviations n'est pas présent la plupart du temps. Il est juste prévu pour afficher occasionnellement un itinéraire de déviation en cas de chantier de longue durée sur une route importante.

  12. #12
    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 hm7845 Voir le message
    En fait, j'ai mal posé la question. Je pensais plutôt à une option à ajouter au code javascript de la carte. Option qui commanderait à l'api de ne pas afficher cette donnée <name><![CDATA[xxx]]></name>.
    Cela compliquerait le code car name et description ont vraiement leur rôle dans le KML et le contourner serait plus simple en passant directement via OpenLayers, mais en refaisant tout le reste (simplifications prise en charge par l'API)

  13. #13
    Membre du Club
    Géomatique appliquée à la gestion routière
    Inscrit en
    Janvier 2011
    Messages
    51
    Détails du profil
    Informations professionnelles :
    Activité : Géomatique appliquée à la gestion routière
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2011
    Messages : 51
    Points : 46
    Points
    46
    Par défaut
    Coucou, me revoilou,

    Je suis en train de travailler sur une autre carte et je suis encore gêné par les labels.

    J'ai du mal à comprendre la différence entre popup et label, mais s'il y en a une, il y aurait peut-être un moyen simple de contrôler le comportement de l'un sans influencer le comportement de l'autre.

    Dans la carte, il y a, d'une part, des popups qui s'affichent quand on clique sur les entités du kml et, d'autre part, des labels qui s'affichent en permanence si je ne supprime pas les balises <LabelStyle> avant de publier le kml. Or je ne veux pas de l'affichage de ces labels et je ne peux pas empêcher la présence de ces balises <LabelStyle> dans les kml générés par les outils ArcGis. Donc je suis contraint de modifier les kml dans un éditeur de texte avant de les publier.

    Est-ce qu'il n'y aurait pas un code simple à ajouter dans ma page JavaScript qui désactiverait l'affichage des labels sans perturber le fonctionnement des popups, et qui me dispenserait de modifier les kml dans un éditeur ?

  14. #14
    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 hm7845 Voir le message
    Est-ce qu'il n'y aurait pas un code simple à ajouter dans ma page JavaScript qui désactiverait l'affichage des labels sans perturber le fonctionnement des popups, et qui me dispenserait de modifier les kml dans un éditeur ?
    En fait, tu veux interpréter les styles de ton KML, sauf le <LabelStyle> ... dur, dur

    Je ne vois qu'une seule soluce qui serait de mettre la valeur label du style de chaque objet à null ou '' ... Pour cela, il faut donc dans l'ajout de la couche inséré quelque chose comme :

    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
    viewer.getMap().addLayer( "KML", "Travaux", "/html/cg45/api_ign/chantiers.kml",
      {
         displayInLayerSwitcher: false,
         visibility: true,
         originators:[{logo:'Le Conseil Général du Loiret', pictureUrl: 'logo_cg45_50.gif', url: 'http://www.loiret.com/'}],
         preFeatureInsert:
            /**
             * Empêche l'affichage des labels.
             *
             * Parameters:
             * f - {OpenLayers.Feature} the newly created feature.
             */
            function(f) {
                if (f) {
                    // default Geoportal API : cursor pointer on hover ...
                    Geoportal.Popup.setPointerCursorForFeature(f);
                    if (f.attributes['label']) {
                        f.attributes['label']= '';
                    }
                }
            }
       }
    );
    bon test

Discussions similaires

  1. [CR XI] Problème d'affichage des icones crystal sur les navigateurs
    Par nabilfaouzi dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 13/03/2009, 00h16
  2. Question sur les évènements
    Par Finality dans le forum C#
    Réponses: 3
    Dernier message: 23/12/2008, 23h37
  3. [ppc] Pb sur les évênements KEY_UP.
    Par sylmear dans le forum MFC
    Réponses: 2
    Dernier message: 12/06/2007, 10h39
  4. [C#] Timer sur les évènements des messages Windows
    Par Nullos Oracle dans le forum Windows Forms
    Réponses: 1
    Dernier message: 19/09/2006, 11h33

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