Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Tue 09 October 2012 12:38

yo_haha
Participant occasionnel
Lieu: Martil
Date d'inscription: 28 Sep 2008
Messages: 47

[OpenLayers][GeoExt] Ajouter des points sur une couche Vecteur

Bonjour,

J'ai une couche vecteur éditable par l'utilisateur. J'ai ajouté à la carte des actions d'édition d'entités (ajouter point/ligne/polygone, modifier, sélectionner).
L'action d'ajout de points pose des problèmes quand l'utilisateur bascule de cette action vers l'action de sélection.
Ci-après le code de l'action d'ajout de points et de sélection :

Code:

// Dessin des points.
    action = new GeoExt.Action({
        iconCls: "point",
        control: new OpenLayers.Control.DrawFeature(vectors,
                OpenLayers.Handler.Point),
        map: map,
        // button options
        toggleGroup: "edition",
        allowDepress: false,
        tooltip: "dessiner un point",
        // check item options
        group: "edition"
    });
    toolbarItems.push(action);

 // Sélection des entités.
    action = new GeoExt.Action({
        iconCls: "select",
        control: new OpenLayers.Control.SelectFeature(vectors, 
        OpenLayers.Handler.Click),
        map: map,
        // button options
        toggleGroup: "edition",
        allowDepress: false,
        group: "edition",
        tooltip: "selectionner une entité"
    });
    toolbarItems.push(action);

La toolBarItems est ajoutée à la carte dans l'option tbar de la MapPanel.

Quand l'utilisateur ajoute un point et bascule vers l'action de sélection, l'action d'ajout de point n'est pas désactivée.
De plus, quand je clique sur l'action d'ajout de point j'ai l'erreur suivante, dans le fichier LayerLoader.js :

Code:

TypeError: node.recordIndexToNodeIndex is not a function

Auriez-vous des propositions ?

Cordialement.

Hors ligne

 

#2 Fri 19 October 2012 09:55

yo_haha
Participant occasionnel
Lieu: Martil
Date d'inscription: 28 Sep 2008
Messages: 47

Re: [OpenLayers][GeoExt] Ajouter des points sur une couche Vecteur

Bonjour,

Cette erreur surgit à cause de l'objet LayerContainer de GeoExt dans lequel j'ai mis le layer vecteur en question. Le LayerContainer sert à créer un arbre de couches pour la gestion de la visibilité des couches de la carte (comme un LayerSwitcher de OpenLayers). Quand j'ai supprimé cet objet (le LayerContainer) de mon application, l'erreur n'apparaissait plus. J'utilise un TreeNode normal de ExtJs pour créer l'arbre des couches.

Cordialement.

Hors ligne

 

Pied de page des forums

Powered by FluxBB