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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Fri 06 January 2012 16:28

xavier.lalande
Participant occasionnel
Date d'inscription: 8 Feb 2007
Messages: 28

Openlayers : Intégration d'une commande HTML avec appel JS Openlayers

Bonjour à tous,

Me revoilà pour une question plus précise que la dernière fois.

J'essaie de créer un bouton dans le code HTML (contenu dans un div, pourquoi pas) avec lors du clic, l'appel d'une fonction JS.

Dans mon fichier JS associé j'ai fait quelque chose du genre :

Code:

var div=document.getElementById("zoom_etendu");
var out=new OpenLayers.Control.ZoomToMaxExtent({displayClass: 'olControlMaxExtent'});
map.addControl(out);
div.innerHTML = out;

Là ou dans le HTML j'ai fait :

Code:

<td>
  <div id="zoom_etendu" class="olControlMaxExtent"></div>
</td>

Avez-vous une solution?

Merci d'avance.

Cordialement.

Xavier

Dernière modification par xavier.lalande (Fri 06 January 2012 16:29)

Hors ligne

 

#2 Mon 23 January 2012 04:21

Laurent Vaïsse
Participant occasionnel
Lieu: Guatemala Ciudad
Date d'inscription: 26 Jun 2006
Messages: 22

Re: Openlayers : Intégration d'une commande HTML avec appel JS Openlayers

Bonjour Xavier,
   
Dans votre JavaScript,
   vous pouvez simplement activer le controle comme vous l´avez fait:

Code:

var out=new OpenLayers.Control.ZoomToMaxExtent();
map.addControl(out);

puis dans le html:

Code:

 <input type="button" value="le zoom to max extent" onclick="map.zoomToMaxExtent();" />

Laurent

Hors ligne

 

#3 Sat 28 January 2012 17:31

xavier.lalande
Participant occasionnel
Date d'inscription: 8 Feb 2007
Messages: 28

Re: Openlayers : Intégration d'une commande HTML avec appel JS Openlayers

Bonjour,

cette fonction marche à merveille, mais uniquement avec le zoomToMaxExtent.

En faisant exactement la même chose avec d'autres fonctions cela ne marche pas.

Exemple HTML :

Code:

<td>
    <input src="images/Pan.png" type="image" onclick="map.Navigation();" />
</td>

Avec JS :

Code:

var hand=new OpenLayers.Control.Navigation();
map.addControl(hand);

Et pourtant quand je clique sur le bouton firebug m'indique :

map.Navigation is not a function

Pourtant OpenLayers (qui contient la fonction Navigation) est bien appelé dans le head :

Code:

<script type="text/javascript" src="/javascript/OpenLayers.2.11/OpenLayers.js"></script>

Merci d'avance.

Xavier

Hors ligne

 

#4 Sat 28 January 2012 18:40

Laurent Vaïsse
Participant occasionnel
Lieu: Guatemala Ciudad
Date d'inscription: 26 Jun 2006
Messages: 22

Re: Openlayers : Intégration d'une commande HTML avec appel JS Openlayers

Xavier,
  vous pouvez  essayer avec  onclick="hand.activate();"

Hors ligne

 

#5 Sat 28 January 2012 18:53

xavier.lalande
Participant occasionnel
Date d'inscription: 8 Feb 2007
Messages: 28

Re: Openlayers : Intégration d'une commande HTML avec appel JS Openlayers

Bonjour Laurent,

merci pour votre aide (à nouveau), mais le message d'erreur est différent :

hand is not defined

Hors ligne

 

#6 Sat 28 January 2012 20:08

Laurent Vaïsse
Participant occasionnel
Lieu: Guatemala Ciudad
Date d'inscription: 26 Jun 2006
Messages: 22

Re: Openlayers : Intégration d'une commande HTML avec appel JS Openlayers

en  reprenant le fil.. je vois plusieurs problemes,

Sur mon premier post, j´ai du vous induire en erreur... les deux lignes suivantes ne sont pas necesaires,  ca devrait fonctionner sans.

var out=new OpenLayers.Control.ZoomToMaxExtent();
map.addControl(out);

Pour les controles, je vous conseille cette page,  vous  trouverez la un bon tutoriel:
http://www.vasir.net/blog/openlayers/op … -controls/

Hors ligne

 

Pied de page des forums

Powered by FluxBB