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 29 July 2008 08:53

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

OpenLayers.Control.LayerSwitcher()

Bonjour!

Voilà, j'aimerais paramétrer le LayerSwitcher de ma carte OpenLayers afin que la liste de mes layers ne s'appelle plus Base Layer (valeur certainement par défaut), idem pour la liste intitulée Overlays que j'aimerais renommé Couches...

J'ai cherché dans les paramètres de OpenLayers.Control.LayerSwitcher() mais pour l'instant je n'ai pu modifier que la couleur de fond et la propriété ascending...

Savez quelles propriétés faut-il modifier et comment??

Merci!!

Hors ligne

 

#2 Tue 29 July 2008 10:12

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

Re: OpenLayers.Control.LayerSwitcher()

Bonjour,

Si tu utilises OpenLayers 2.6, tu peux modifier le dictionnaire par défaut d'OpenLayers. Avec la version 2.6, il existe un objet OpenLayers.Lang qui est utilisé dans les constructeurs de controles pour définir les textes génériques de l'interface.

Donc si avant de créer ta carte OpenLayers, tu fais :
OpenLayers.Lang.setCode("fr");

Ta carte OpenLayers utiliseras le dictionnaire français.

Par contre celui-ci est assez réduit, c'est le fichier fr.js dans lib/OpenLayers/Lang. Vous pouvez donc le modifier afin d'avoir la traduction que vous souhaitez mais aussi de compléter avec les termes qui vous manque en comparant avec en.js.

Hors ligne

 

#3 Tue 29 July 2008 11:04

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

Re: OpenLayers.Control.LayerSwitcher()

Je ne comprend spas pourquoi ca ne marche pas...

Voilà ce que j'ai écrit :

<script src="OpenLayers-2.6\OpenLayers.js"></script>
<script src="../lib/OpenLayers.js"></script>
    <script defer="defer" type="text/javascript">

        function init(){

            var map, layer, popup;
            var markers, markers2, feature, marker;

            OpenLayers.Lang.setCode("fr");

            map = new OpenLayers.Map("carte");
....

Mais rien ne change dans le LayerSwitcher... De même si j'essaie avec la bibliothèque "en"...
Je ne vois pas d'ou viens le problème...
Merci!!

Hors ligne

 

#4 Tue 29 July 2008 14:51

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

Re: OpenLayers.Control.LayerSwitcher()

Pourquoi tu dupliques OpenLayers ?

<script src="OpenLayers-2.6\OpenLayers.js"></script>
<script src="../lib/OpenLayers.js"></script>

Utilise soit la version compressé, la première, soit la version de développement, la seconde, mais pas les deux en même temps.

Si tu modifies le fichier fr.js au sein de ta lib OpenLayers, utilises la 2e façon d'appeler Openlayers. Enfin as-tu modifié le fichier fr.js ?

Hors ligne

 

#5 Tue 29 July 2008 15:06

Nicolab
Membre
Lieu: Osaka
Date d'inscription: 9 Dec 2005
Messages: 95

Re: OpenLayers.Control.LayerSwitcher()

Bjr !
Une solution un peu moins propre que l'usage du dico fr, mais qui fonctionne bien est de remplacer Baselayers et Overlays en dur dans
\lib\OpenLayers\Control\LayerSwitcher.js  par les termes que vous souhaiter (ligne 507 et 520)
@+

PikO

Hors ligne

 

#6 Tue 29 July 2008 15:55

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

Re: OpenLayers.Control.LayerSwitcher()

Yaouh!!
Bon en fait le problème venait bien du fait que j'appelais defois openlayers... lol


J'ai maintenant
<script src="../OpenLayers-2.6/lib/OpenLayers.js"></script>
    <script defer="defer" type="text/javascript">

        function init(){

            var map, layer, popup;
            var markers, markers2, feature, marker;

            OpenLayers.Lang.setCode("fr");

            map = new OpenLayers.Map("carte");
....
et j'ai modifier mon fichier fr.js pour qu'il me marcue ce dont j'avais besoin!!
Merci à tous pour votre aide!!!

Hors ligne

 

Pied de page des forums

Powered by FluxBB