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

Pour sécuriser votre compte sur les forums du GeoRezo, nous demandons de changer votre mot de passe.

Vous allez recevoir un message pour effectuer ce changement de mot de passe.

Merci de bien respecter les règles préconisées.

#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