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 :

addGeoportalLayers et options


Sujet :

IGN API Géoportail

  1. #1
    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 addGeoportalLayers et options
    Je voudrais rendre la couche ADMINISTRATIVEUNITS.BOUNDARIES visible dès le chargement.
    En m'inspirant de geoportalAlert.html, j'essaye:
    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
    .
    .
    .
      layerIds: ['ORTHOIMAGERY.ORTHOPHOTOS:WMSC', 'GEOGRAPHICALGRIDSYSTEMS.MAPS:WMSC', 'ADMINISTRATIVEUNITS.BOUNDARIES:WMSC'],
      layerOptions: {
        'ADMINISTRATIVEUNITS.BOUNDARIES': {
          visibility: true
        },
        'GEOGRAPHICALGRIDSYSTEMS.MAPS': {
          opacity: 0.3
        },
        'ORTHOIMAGERY.ORTHOPHOTOS': {
          visibility: true
        }
    .
    .
    .
      viewer.addGeoportalLayers(mga.layerIds, mga.layerOptions);
    mais les options ne sont pas prises en compte

  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
    Points : 4 224
    Points
    4 224
    Par défaut
    Les options pour les layers devraient être quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    {
        visibility: true,
        opacity: 0.5
    }
    et s'appliquent à l'ensemble des layers passés en paramètres.

    Donc :

    1. soit faire plusieurs addGeoportalLayers([],{});
    2. soit faire plusieurs addGeoportalLayer("",{});
    3. soit je modifie l'API pour permettre ton code ... je vais regarder !

  3. #3
    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
    J'ai vu le code dans geoportalAlert, certes non utilisé, mais je me suis dit pourquoi pas!
    Donc je vais faire une petite boucle, c'est pas trop difficile...

  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
    J'ai quand même modifié l'API ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    addGeoportalLayers
    
    addGeoportalLayers: function()
    Allows to add several predefined Geoportal layers. Parameters layerIds{Array({String})} The identifiers table of the layers you want to add. These identifiers are used as layer’s name. This parameter can be omitted in which case, all allowed layers are loaded.options{Object} optional options specific to the layers. Either options are generic for all passed in layers, or they are attached to each layer. In the later case, the options keys are the layers identifiers :
    addGeoportalLayers(['ORTHOIMAGERY.ORTHOPHOTOS:WMSC', 'GEOGRAPHICALGRIDSYSTEMS.MAPS:WMSC'], {'GEOGRAPHICALGRIDSYSTEMS.MAPS:WMSC':{visibility:false}});
    When global options are needed in the second case, the special key ‘global’ is to be used :
    addGeoportalLayers(['ORTHOIMAGERY.ORTHOPHOTOS:WMSC', 'GEOGRAPHICALGRIDSYSTEMS.MAPS:WMSC'], {'GEOGRAPHICALGRIDSYSTEMS.MAPS:WMSC':{visibility:false}, global:{opacity:0.75}});
    Specific options overrule global options.

  5. #5
    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 Merci
    Cela sera plus facile et plus propre.
    J'essaye de me mettre en place une interface commune pour mes trois utilsations de l'API:
    - url directe
    - Mediawiki
    - Spip
    car j'ai maintenu 3 versions avec Google-Maps et c'est galère!

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 55
    Points : 36
    Points
    36
    Par défaut
    question certainement bête : comment définir l'ordre d'affichage des différents calques ? (ds la panneau de controle)
    merci

  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
    L'ordre d'apparition des couches est inverse de l'ordre d'ajout des couches dans la carte. Ainsi, si on fait en Javascript :

    1. ajout des couches Géoportail ;
    2. ajout de la couche A (addLayer) ;
    3. ajout de la couche B (addLayer).

    Alors l'ordre d'affichage sera :


    1. affichage des couches Géoportail, puis
    2. affichage de la couche A, puis
    3. affichage de la couche B

    Cet ordre d'affichage est celui du menu "Couches".

    La fonction Javascript *.Map.addLayer() empile les couches (la première insérée sera en bas de la pile). Pour modifier cet ordre, il faut modifier le zIndex des couches via l'appel OpenLayers.Layer.setZIndex().

  8. #8
    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 Pas si sur: un peu d'asynchronisme en plus
    Le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      viewer.getMap().addControl(new OpenLayers.Control.LoadingPanel());
      viewer.addGeoportalLayers(['ORTHOIMAGERY.ORTHOPHOTOS:WMSC', 'GEOGRAPHICALGRIDSYSTEMS.MAPS:WMSC']);
      viewer.getMap().addLayer("KML", '35001', "35001.kml");
      viewer.getMap().addLayer("KML", '35327', "35327.kml");
      viewer.getMap().setCenterAtLonLat( - 1.4981, 48.1308, 12);
    donne

    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      viewer.getMap().addLayer("KML", '35001', "35001.kml");
      viewer.getMap().addLayer("KML", '35327', "35327.kml");
      viewer.getMap().addLayer("KML", 'Carrés', "L93_35.kml");

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 55
    Points : 36
    Points
    36
    Par défaut
    oui, j'avais constaté la même chose, un ordre un peu "aléatoire" dans les kml

  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 Ordre aléatoire
    C'est (a)normal avec la version actuelle, un morceau de code Javascript résiduel datant des premiers développements de l'API provoque cet état "confu" : il avait comme objectif de remonter les couches KML/GPX en haut de la pile des couches pour que le clic fonctionne sur la couche directement !!

    Ce morceau de code a été retiré pour la prochaine version de l'API et donc, l'ordre sera bien celui que j'ai indiqué.

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 55
    Points : 36
    Points
    36
    Par défaut merci
    super

  12. #12
    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
    En espérant que cet ancienne discussion soit toujours d'actualité pour son sujet d'origine : "addGeoportalLayers et options"

    Donc, sur cette page j'essaye de modifier les options standard sur l'un des layers dans le cas d'un contrôleur multi-couches.
    VISU.addGeoportalLayers(['ORTHOIMAGERY.ORTHOPHOTOS:WMSC', 'GEOGRAPHICALGRIDSYSTEMS.MAPS:WMSC'],
    {'ORTHOIMAGERY.ORTHOPHOTOS:WMSC':{name:'Photo aérienne', opacity: 0.4}});
    Le changement de nom s'effectue normalement par contre l'opacité s'applique aux deux layers, alors que l'option "global" n'est pas utilisée.

    Où est l'erreur ?

  13. #13
    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 Zébulon-21 Voir le message
    Le changement de nom s'effectue normalement par contre l'opacité s'applique aux deux layers, alors que l'option "global" n'est pas utilisée.

    Où est l'erreur ?
    Y-en a pas ... sous firebug, la carte est à 0.3 d'opacité et l'image à 0.4

  14. #14
    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 C'est troublant quand même
    Exact dgrichard, je crois que je (re)découvre que l'opacité des cartes est à 30 % par défaut.

    Ce qui reste néanmoins troublant, c'est que la modification des paramètres des 2 layers a pour conséquence de neutraliser toutes les modifs.

    VISU.addGeoportalLayers(['ORTHOIMAGERY.ORTHOPHOTOS:WMSC', 'GEOGRAPHICALGRIDSYSTEMS.MAPS:WMSC'],
    {'ORTHOIMAGERY.ORTHOPHOTOS:WMSC':{opacity: 0.4, name:'Photo aérienne'}},
    {'GEOGRAPHICALGRIDSYSTEMS.MAPS:WMSC':{opacity: 1}}
    );
    Avec ce code sur cette page : Le changement de nom n'est pas pris en compte ni les opacités.

  15. #15
    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 Zébulon-21 Voir le message
    Ce qui reste néanmoins troublant, c'est que la modification des paramètres des 2 layers a pour conséquence de neutraliser toutes les modifs.
    Et comme cela

    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
    VISU.addGeoportalLayers(
    ['ORTHOIMAGERY.ORTHOPHOTOS:WMSC',   'GEOGRAPHICALGRIDSYSTEMS.MAPS:WMSC'],
    {
      'ORTHOIMAGERY.ORTHOPHOTOS:WMSC':{
        opacity: 0.4,
        name:'Photo aérienne'
      },
      'GEOGRAPHICALGRIDSYSTEMS.MAPS:WMSC':{
       opacity: 1
      }
      // options globales
      /*
      ,global:{
        ...
      }
       */
    });

  16. #16
    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
    Merci beaucoup dgrichard et... bon W-E (si tu t'accordes une pause)

  17. #17
    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
    Il faut enlever les :WMSC

  18. #18
    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
    Merci Didier... mais tu m'avais déjà aidé à solutionner cette question en 2010
    et cela ne concernait pas "WMSC"

  19. #19
    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 Zébulon-21 Voir le message
    Merci Didier... mais tu m'avais déjà aidé à solutionner cette question en 2010
    et cela ne concernait pas "WMSC"
    en 2010, on avait à peine l'API 1.9999999 en vue

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

Discussions similaires

  1. [JVM][OPTIONS][OPTIMISATION]pc dédié à Java
    Par narmataru dans le forum Général Java
    Réponses: 7
    Dernier message: 16/04/2003, 17h12
  2. [Kylix] kylix3 : pb sur options de projet
    Par Arsene dans le forum EDI
    Réponses: 3
    Dernier message: 09/04/2003, 10h41
  3. [propriétés]Option Checked
    Par psl dans le forum Composants VCL
    Réponses: 6
    Dernier message: 22/08/2002, 08h07
  4. Parametrage des options de projet
    Par ares7 dans le forum EDI
    Réponses: 7
    Dernier message: 22/07/2002, 15h33
  5. Vous gerez comment les options d'un programme?
    Par n0n0 dans le forum C++Builder
    Réponses: 5
    Dernier message: 17/05/2002, 13h21

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