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 :

Cacher/Montrer une couche IGN par code


Sujet :

IGN API Géoportail

  1. #1
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    379
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 379
    Points : 194
    Points
    194
    Par défaut Cacher/Montrer une couche IGN par code
    Dans le lien suivant, on apprenait grâce à DGRichard à cacher/montrer une couche :

    http://www.developpez.net/forums/d80...l/#post4648375

    Je voudrais faire l'équivalent mais sur des couches "systèmes". J'ai essayé de transposer le code pour par exemple cacher/montrer automatiquement la couche cadastre suivant le niveau de zoom courant :

    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
    var CoucheCadastre = null;
            CoucheCadastre = map.getMap().getLayersByName('cadastre');
            if (CoucheCadastre != null)
            {
                if (NiveauZoomCourant >= NiveauCadastre) 
                {
                    // On affiche la couche cadastre
                    CoucheCadastre.setVisibility(true); 
                }
                else
                {
                    // On cache la couche cadastre
                    CoucheCadastre.setVisibility(false);  
                }
            }
    La variable CoucheCadastre semble bien remplie suite à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     CoucheCadastre = map.getMap().getLayersByName('cadastre');
    mais lors du code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     CoucheCadastre.setVisibility(false);
    J'ai une erreur indiquant que la méthode est introuvable ?
    Ai-je fait une erreur ou est-ce que cela est différent pour les couches provenant de l'IGN (par rapport à nos couches perso) ?

    Vu que ce code est déclenché sur des événements, est-ce que cela peut intervenir trop tôt (variables non prêtes à un instant t) ?

  2. #2
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 37
    Points : 46
    Points
    46
    Par défaut
    getLayersByName retourne un tableau (d'ou le 's' )

    Il faut faire un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CoucheCadastre[0].setVisibility(true);

  3. #3
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    379
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 379
    Points : 194
    Points
    194
    Par défaut
    au temps pour moi

    Suis fatigué aujourd'hui, j'accumule les bourdes...vivement le week-end !

  4. #4
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    379
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 379
    Points : 194
    Points
    194
    Par défaut
    Pour ceux que cela pourrait intéresser :
    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 CoucheCadastre = null;
            CoucheCadastre = map.getMap().getLayersByName('CADASTRALPARCELS.PARCELS');
            if (CoucheCadastre != null)
            {
            	if ((typeof CoucheCadastre !== "undefined") &&  (typeof CoucheCadastre[0] !== "undefined")) 
    	        {
                    if (NiveauZoomCourant >= NiveauCadastre) 
                    {
                        // On affiche la couche cadastre
                        CoucheCadastre[0].setVisibility(true); 
                    }                
                }
            }

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

Discussions similaires

  1. [AC-2000] cliquer sur un bouton d'une autre appli par code
    Par noemieze dans le forum VBA Access
    Réponses: 2
    Dernier message: 01/12/2009, 12h05
  2. créer une procédure stockée par code
    Par pigeon11 dans le forum VB.NET
    Réponses: 6
    Dernier message: 27/02/2009, 17h31
  3. Crée une Table Acces Par Code VBA
    Par faressam dans le forum VBA Access
    Réponses: 3
    Dernier message: 18/03/2008, 10h19
  4. Création d'une procédure dans une base externe par code
    Par AndréPe dans le forum VBA Access
    Réponses: 1
    Dernier message: 22/07/2007, 10h19
  5. Retirer une clé primaire par code
    Par Arrown dans le forum Bases de données
    Réponses: 3
    Dernier message: 28/07/2004, 15h15

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