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 Wed 16 July 2008 07:32

didier.genier@bluewin.ch
Participant actif
Lieu: Bernex - Genève
Date d'inscription: 8 Nov 2006
Messages: 52
Site web

OpenLayers DragFeature, interception de l'événement onComplete

Bonjour à vous tous,
J'utilise OpenLayers pour assister à la localisation d'un événement stocké en Postgis. L'utilisateur doit pouvoir déplacer le point pour le situer (re-situer). Jusque là, ça fonctionne. J'utilise :

var deplace = new OpenLayers.Control.DragFeature(vectorLayer);
map.addControl(deplace);
deplace.activate();

Et il est effectivement possible de déplacer le point dans la carte. En fait, ce qu'il me manque c'est de pouvoir (savoir) intercepter l'événement OnComplete et c'est pour obtenir un peu d'aide que je viens poster. En effet, il est nécessaire de savoir si le point a été déplacé pour mettre à jour la dB. Je joint mon code de page pour les plus courageux.

Merci d'avance

Hors ligne

 

#2 Wed 16 July 2008 08:46

ranalisolofo.larrys
Participant occasionnel
Lieu: Ambolonkandrina
Date d'inscription: 19 Jul 2007
Messages: 40
Site web

Re: OpenLayers DragFeature, interception de l'événement onComplete

Il suffit que tu surcharges le oncomplete lors de la définition de deplace :

Code:

deplace.onComplete = function(feature, pixel) {
   tu mets ici les instructions de mises à jour de la base
};

Hors ligne

 

#3 Wed 16 July 2008 13:31

didier.genier@bluewin.ch
Participant actif
Lieu: Bernex - Genève
Date d'inscription: 8 Nov 2006
Messages: 52
Site web

Re: OpenLayers DragFeature, interception de l'événement onComplete

Un seul mot. MERCI ! et chapeau bas.

J'exagère mais je me lance quand même pour un complément de question... je reçois effectivement avec le paramètre pixel la position de la souris... comme son nom l'indique en pixels cartes. Comment dois-je procéder pour transformer cette valeur en coordonnées terrestres ?

Amitiés

Hors ligne

 

#4 Wed 16 July 2008 13:46

gde
Participant occasionnel
Date d'inscription: 8 Oct 2007
Messages: 18

Re: OpenLayers DragFeature, interception de l'événement onComplete

Tu as

getLonLatFromViewPortPx

et

OpenLayers.Layer.SphericalMercator.forwardMercator
OpenLayers.Layer.SphericalMercator.inverseMercator

qui peuvent aider.

Hors ligne

 

#5 Wed 16 July 2008 13:55

didier.genier@bluewin.ch
Participant actif
Lieu: Bernex - Genève
Date d'inscription: 8 Nov 2006
Messages: 52
Site web

Re: OpenLayers DragFeature, interception de l'événement onComplete

Et voilà... j'ai une fois de plus posté sans trop lire... Merci gde...
En fouillant un peu plus je suis tombé sur map.getLonLatFromPixel...

deplace.onComplete = function(feature, pixel) {
ceticinew = map.getLonLatFromPixel(pixel);
document.write(ceticinew);

Un grand merci pour vos contributions éclairantes et bonne suite

Hors ligne

 

Pied de page des forums

Powered by FluxBB