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

Printemps des cartes 2024

#1 Mon 08 June 2009 10:32

Geodyn
Juste Inscrit !
Date d'inscription: 8 Jun 2009
Messages: 1

Callback d'un Drag sous Openlayers

Bonjour,

Tout nouveau dans le domaine d'openlayers,je bloque depuis plusieurs jour sur ce problème
Je souhaiterai pouvoir afficher les coordonnées d'un point lors de son déplacement.
j'arrive déjà grace a un callback a afficher les coordonnée de mon point lorsque je le crée

Code:

//je crée ma couche vector
var vectors = new OpenLayers.Layer.Vector("Vector Layer"});

//je l'ajoute a ma carte
map.addLayers([vectors]);

//je crée les contrôles pour crée un point et le déplacé
controls = 
                {
                    point: new OpenLayers.Control.DrawFeature(vectors,OpenLayers.Handler.Point,pointDrawFeatureOptions),
                    drag: new OpenLayers.Control.DragFeature(vectors,OpenLayers.Handler.Feature)
                };

//j'ajoute mes contrôles a la carte 
for(var key in controls) 
                {
                    map.addControl(controls[key]);
                }

//je crée un callback sur mon point (création du point) qui appel ma fonction affichage
var pointDrawFeatureOptions = {
                        callbacks : {"done": affichage}};           

//ma fonction affichage qui affiche la position de mon point crée                             
function affichage(Pixel) {     
alert(Pixel);
};

J'aimerai donc pouvoir réaliser la même chose mais avec le drag
J'ai essayer en réalisant de la même maniere mais je n'arrive même pas à entré dans le callback(enfin j'ai l'impression)
ça donne un truc comme ça

Code:

//avec controls comme ceci
controls = 
                {
                    point: new OpenLayers.Control.DrawFeature(vectors,OpenLayers.Handler.Point,pointDrawFeatureOptions),
                    drag: new OpenLayers.Control.DragFeature(vectors,OpenLayers.Handler.Feature,dragoptions)
                };
//et mon callback comme suivant
var dragoptions = {
            callbacks : {
                "done" : test
            }
        };
//avec une fonction test comme suit
function test(pix){
alert(pix};

Si quelqu'un a une idée je suis preneur
Merci de votre patience
Patrick

Hors ligne

 

#2 Sat 13 June 2009 09:28

Arno974
Juste Inscrit !
Date d'inscription: 10 Oct 2006
Messages: 7

Re: Callback d'un Drag sous Openlayers

Bonjour,

OpenLayers autorise 3 types de callbaks sur le control Drag Feature : onStart, onDrag, onComplete.

Dans votre cas cela sera onComplete et non "done".

>>API OL

Hors ligne

 

Pied de page des forums

Powered by FluxBB