Pages: 1
- Sujet précédent - Openlayers : Intégration d'une commande HTML avec appel JS Openlayers - Sujet suivant
#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
Pages: 1
- Sujet précédent - Openlayers : Intégration d'une commande HTML avec appel JS Openlayers - Sujet suivant