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 Tue 05 August 2008 16:52

marjal_
Participant occasionnel
Date d'inscription: 26 Jul 2008
Messages: 14

mesure distance openlayers

Bonjour,

voilà, j'aimerais rajouter un outil permettant de visualiser la distance entre deux points sur ma carte OpenLayers.

En cherchant dans les libraires d'images, j eme suis aperçue que mesauring-stick-on.png représente une règle. Mais, je n'ai pas trouver les boutons de control utilisant cette image... La fonction existe-telle ou faut il la créer soit même?

Dans ce cas, avez vous des extraits de code me permettant de rajouter cette fonction à ma carte? Je me suis renseigner, il faut que j'utilise la propriété getLength(). J'utilise le Control.EditingToolbar ce qui me permet d'avoir les outils de dessin. Mais comment accéder à l'élément (une ligne tracée par l'utilisateur) dont on veut connaitre la longueur?

Merci de votre réponse!

Hors ligne

 

#2 Tue 05 August 2008 19:39

René-Luc D'Hont
Participant assidu
Date d'inscription: 7 Nov 2006
Messages: 328
Site web

Re: mesure distance openlayers

TonControl.layer.Features[0].geometry.getLength()

Est une possibilité mais étudie bien le fonctionnement du control d'édition de sorte qu'un seul objet (feature) à la fois soit ajouté à la couche associé à ton control.

Hors ligne

 

#3 Tue 05 August 2008 19:48

René-Luc D'Hont
Participant assidu
Date d'inscription: 7 Nov 2006
Messages: 328
Site web

Re: mesure distance openlayers

tu peux aussi créer un control :

Code:

new OpenLayers.Control.DrawFeature(vectors,
                            OpenLayers.Handler.Path)


Code:

vectors = new OpenLayers.Layer.Vector("Vector Layer");

et auquel tu ajoutes des listeners au évènements featureadded et featuremodified, genre :

Code:

vectors.events.on({
                "featuremodified": report,
                "featureadded": report
            });
function report(event) {
  alert(event.feature.geometry.getLength());
}

Hors ligne

 

#4 Wed 06 August 2008 13:29

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

Re: mesure distance openlayers

Tu peux regarder dans le sandbox suivant un plugin de measure :
http://dev.openlayers.org/sandbox/timan … Measure.js

Et un petit exemple de son utilisation ici :
http://trac.openlayers.org/browser/sand … l?rev=7541

Hors ligne

 

Pied de page des forums

Powered by FluxBB