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 :

Souci d'ordonnancement des calques


Sujet :

IGN API Géoportail

  1. #1
    Membre du Club
    Développeur informatique
    Inscrit en
    Septembre 2008
    Messages
    102
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 102
    Points : 65
    Points
    65
    Par défaut Souci d'ordonnancement des calques
    Bonjour,
    Je n'arrive pas à afficher correctement les calques dans l'ordre souhaité avec l'API
    J'en ai déjà parlé il y a quelques temps et dgrichard m'a orienté vers une gestion de z-index. Mais bof, je n'arrive à rien (soit je n'utilise pas comme il faut, soit c'est inopérant)...

    Ce que je veux (fonctionnement OK avec page TRK/PCX5) : Balises correctement placées (et visibles)

    Ce que j'obtiens avec la page GPX : Les balises en dessous de la trace (beurk) !

    Si qq'un pouvait m'éclairer et me permettre de me débarrasser de ce dernier problème avant mise en prod' de la page, ce serait super cool...

    Merci pour votre aide

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 128
    Points : 1 764
    Points
    1 764
    Par défaut
    As-tu essayé de forcer fillOpacity à 1.0 sur les Waypoints ?

  3. #3
    Membre du Club
    Développeur informatique
    Inscrit en
    Septembre 2008
    Messages
    102
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 102
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par mga_geo Voir le message
    As-tu essayé de forcer fillOpacity à 1.0 sur les Waypoints ?
    J'essaie de ce pas

    Malheureusement c'est toujours dessous...

  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
    Points : 4 224
    Points
    4 224
    Par défaut
    Si on inverse dans le gestionnaire de couches 'Waypoints' et 'gpx1', l'affichage devient correct. Ce qui me penser que les données liées à 'Waypoints' sont chargées (créées) avant celles de 'gpx1' ...

    Dans le source:

    * création du gpx1avec visibilitity à true;
    * enregistrement : [1] quant gpx1 est chargé « zoomer sur son emprise et le rendre visible »;
    * chargement de waypoints;
    * [1] s'effectue toujours maintenant (JS n'est pas multi-threadé ...). J'ai donc l'impression que les données gpx1 sont chargées après (donc au dessus)...

    pourrais-tu tester ceci :

    * création du gpx1, avec visibilitity: false;
    * enregistrement : quant gpx1 est chargé « zoomer sur son emprise, le rendre visible, charger les waypoints »;

  5. #5
    Membre du Club
    Développeur informatique
    Inscrit en
    Septembre 2008
    Messages
    102
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 102
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par dgrichard Voir le message
    Si on inverse dans le gestionnaire de couches 'Waypoints' et 'gpx1', l'affichage devient correct. Ce qui me penser que les données liées à 'Waypoints' sont chargées (créées) avant celles de 'gpx1' ...
    Exact j'avais remarqué ça aussi...

    Citation Envoyé par dgrichard Voir le message
    Dans le source:

    * création du gpx1avec visibilitity à true;
    * enregistrement : [1] quant gpx1 est chargé « zoomer sur son emprise et le rendre visible »;
    * chargement de waypoints;
    * [1] s'effectue toujours maintenant (JS n'est pas multi-threadé ...). J'ai donc l'impression que les données gpx1 sont chargées après (donc au dessus)...

    pourrais-tu tester ceci :

    * création du gpx1, avec visibilitity: false;
    * enregistrement : quant gpx1 est chargé « zoomer sur son emprise, le rendre visible, charger les waypoints »;
    Alors, je viens d'essayer (source en ligne).
    1/ le setVisibility(true) semble inopérent (le GPX n'est plus affiché au chargement),
    2/ je perds le zoom,
    3/ je ne peux pas inclure loadTrace() dans le trt post-chargement de gpx1 (ça provoque un dysfonctionnement, cf version en ligne)...

    Pfffiou, c'est vraiment pas clair pour moi

  6. #6
    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 Heretic Voir le message
    Alors, je viens d'essayer (source en ligne).
    1/ le setVisibility(true) semble inopérent (le GPX n'est plus affiché au chargement),
    Mea culpa, je voulais retirer la visibilité dans le onload

    Citation Envoyé par Heretic Voir le message
    2/ je perds le zoom,
    normal, la couche n'est pas chargée ...

    Citation Envoyé par Heretic Voir le message
    3/ je ne peux pas inclure loadTrace() dans le trt post-chargement de gpx1 (j'approfondis)...
    Idem

    Je récapitule donc peux-tu essayer ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     var gpx1 = olMap.addLayer("GPX", "gpx1", "fichier/trace/536rieussec.gpx", {
        styleMap: style1,
        visibility: true,
        minZoomLevel: 2,
        maxZoomLevel: 14
      }, {});
    
    gpx1.events.register('loadend',gpx1,function(e) {
      olMap.zoomToExtent(gpx1.getDataExtent());
      loadTrace();
     });
    }

  7. #7
    Membre du Club
    Développeur informatique
    Inscrit en
    Septembre 2008
    Messages
    102
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 102
    Points : 65
    Points
    65
    Par défaut
    Bizarre, maintenant le GPX ne s'affiche plus...

  8. #8
    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 Heretic Voir le message
    Bizarre, maintenant le GPX ne s'affiche plus...
    Normal, je voulais voir le z-index de la couche avant activation (400), puis après (725, le WKT étant en 405) ... Tu peux remettre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    gpx1.events.register('loadend',gpx1,function(e) {
       this.map.zoomToExtent(this.getDataExtent());
       this.setVisibility(true);
       loadTrace();
     });
    je continue à chercher pour comprendre ...

  9. #9
    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
    Salut Heretic,

    As-tu vu que tes cartes ne s'affichent pas sous IE8 ?

  10. #10
    Membre du Club
    Développeur informatique
    Inscrit en
    Septembre 2008
    Messages
    102
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 102
    Points : 65
    Points
    65
    Par défaut
    Voilà.
    Merci de ton aide.

  11. #11
    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
    Excuse-moi pour la précipitation : Le premier exemple s'affiche (parfois) après un certain temps. Peut-être faut-il ajouter une image animée signalant le téléchargement ?

    En revanche : rien ne s'affiche avec le 2e exemple.

  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 dgrichard Voir le message
    [/code]je continue à chercher pour comprendre ...
    Serait-il possible que les requêtes du type http://lpivtt.free.fr/transfo_trace_...=2&idrando=674 retourne un Content-Type: text/plain plutôt que text/html ? cela m'aiderait à débogguer ...

  13. #13
    Membre du Club
    Développeur informatique
    Inscrit en
    Septembre 2008
    Messages
    102
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 102
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par dgrichard Voir le message
    Serait-il possible que les requêtes du type http://lpivtt.free.fr/transfo_trace_...=2&idrando=674 retourne un Content-Type: text/plain plutôt que text/html ? cela m'aiderait à débogguer ...
    Normalement c'est fait (je suis pas sûr que modifier l'attribut dans la page appelante suffise )

  14. #14
    Membre du Club
    Développeur informatique
    Inscrit en
    Septembre 2008
    Messages
    102
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 102
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par Zébulon-21 Voir le message
    Excuse-moi pour la précipitation : Le premier exemple s'affiche (parfois) après un certain temps. Peut-être faut-il ajouter une image animée signalant le téléchargement ?

    En revanche : rien ne s'affiche avec le 2e exemple.
    Salut,
    quel navigateur utilises-tu ?
    J'ai constaté des pbs récurrents sous IE6, mais pas testé les autres, car aps fan

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 19
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par Heretic Voir le message
    Bonjour,
    Je n'arrive pas à afficher correctement les calques dans l'ordre souhaité avec l'API
    J'avais ce problème avec une couche marqueur et une couche vecteur : les vecteurs étaient systématiquement au dessus des marqueurs et donc plus de popups sur ceux-ci. J'ai résolu le problème à coup de "map.resetLayersZIndex();" en divers endroits.

  16. #16
    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 Heretic Voir le message
    Normalement c'est fait (je suis pas sûr que modifier l'attribut dans la page appelante suffise )
    Non, toujours pareil ... bon j'ai bidouillé mon proxy Perl pour qu'il accepte des fichiers text/html (grosse faille) et j'ai trouvé le pourquoi du comment :

    Constat:
    * activation/désactivation du GPX => zIndex modifié (passe au dessus du WKT);
    * activation/désactivation du WKT => zIndex non modifié !

    Raison:
    * le GPX est chargée via l'API, c'est un layer vectoriel, un contrôle de sélection (OpenLayers.Control.Select) lui est associé de facto ;
    * le WKT est chargé dans l'API après être construit, aucun contrôleur de sélection ne lui est affecté;
    * lors de l'activation/désactivation d'un layer, l'API invoque Geoportal.Map.onVisibilityChange() pour que les contrôles activés sur le layer soit activé/désactivé de concert; Cette activation/désactivation du contrôle de sélection provoque l'appel à OpenLayers.Handler.Feature.moveLayerToTop() / moveLayerBack() ... qui change le zIndex du layer

    En première instance, ceci fonctionne chez moi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
            var gpx1= viewer.getMap().addLayer("GPX", "gpx1", "http://lpivtt.free.fr/fichier/trace/536rieussec.gpx", {
                styleMap: style1,
                visibility: true,
                minZoomLevel: 2,
                maxZoomLevel: 14
            },{
                preventDefaultBehavior:true
            });

  17. #17
    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 Heretic Voir le message
    Salut,
    quel navigateur utilises-tu ?
    J'ai constaté des pbs récurrents sous IE6, mais pas testé les autres, car aps fan
    1er exemple :
    - IE8 = OK
    - CHROME = OK
    - FF = OK

    2e exemple :
    - IE8 = pas d'affichage
    - CHROME = OK
    - FF = OK

  18. #18
    Membre du Club
    Développeur informatique
    Inscrit en
    Septembre 2008
    Messages
    102
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 102
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par dgrichard Voir le message
    Non, toujours pareil ... bon j'ai bidouillé mon proxy Perl pour qu'il accepte des fichiers text/html (grosse faille) et j'ai trouvé le pourquoi du comment :

    Constat:
    * activation/désactivation du GPX => zIndex modifié (passe au dessus du WKT);
    * activation/désactivation du WKT => zIndex non modifié !

    Raison:
    * le GPX est chargée via l'API, c'est un layer vectoriel, un contrôle de sélection (OpenLayers.Control.Select) lui est associé de facto ;
    * le WKT est chargé dans l'API après être construit, aucun contrôleur de sélection ne lui est affecté;
    * lors de l'activation/désactivation d'un layer, l'API invoque Geoportal.Map.onVisibilityChange() pour que les contrôles activés sur le layer soit activé/désactivé de concert; Cette activation/désactivation du contrôle de sélection provoque l'appel à OpenLayers.Handler.Feature.moveLayerToTop() / moveLayerBack() ... qui change le zIndex du layer

    En première instance, ceci fonctionne chez moi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
            var gpx1= viewer.getMap().addLayer("GPX", "gpx1", "http://lpivtt.free.fr/fichier/trace/536rieussec.gpx", {
                styleMap: style1,
                visibility: true,
                minZoomLevel: 2,
                maxZoomLevel: 14
            },{
                preventDefaultBehavior:true
            });
    Super merci (encore une fois, devrais-je ajouter) !!!
    Ca fonctionne nickel

  19. #19
    Membre du Club
    Développeur informatique
    Inscrit en
    Septembre 2008
    Messages
    102
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 102
    Points : 65
    Points
    65
    Par défaut
    Citation Envoyé par Zébulon-21 Voir le message
    1er exemple :
    - IE8 = OK
    - CHROME = OK
    - FF = OK

    2e exemple :
    - IE8 = pas d'affichage
    - CHROME = OK
    - FF = OK
    C'est exact, je viens de faire le test...
    Par contre je ne sais pas du tout pourquoi ce foutu IE n'accepte pas le code
    dgrichard, tu aurais une idée ?

  20. #20
    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 Heretic Voir le message
    C'est exact, je viens de faire le test...
    Par contre je ne sais pas du tout pourquoi ce foutu IE n'accepte pas le code
    dgrichard, tu aurais une idée ?
    Identificateur, chaîne ou nombre attendu visu_ign_gpx.php?idtrace=536&orig=2&idrando=674, Ligne 75 Caractère 6

    effectivement:

    devrait être :

    Je rappelle que sous IE 8, il suffit de faire :

    * outils -> outils de développement (F12)
    * Script -> Démarrer le débogage

    (répondre Ok au rechargement de la page)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [FORMS6i]Ordonnancement des blocs
    Par MomoZeAsticot dans le forum Forms
    Réponses: 2
    Dernier message: 26/07/2006, 16h49
  2. Réponses: 6
    Dernier message: 05/07/2006, 23h47
  3. [FLASH 8] Manupilation des calques en actionscript 2
    Par aldo-tlse dans le forum Flash
    Réponses: 3
    Dernier message: 20/10/2005, 01h55
  4. [FLASH MX2004] Prob emplilement des calques
    Par guy2004 dans le forum Flash
    Réponses: 3
    Dernier message: 30/04/2005, 09h46
  5. Réponses: 2
    Dernier message: 03/10/2002, 17h24

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