2009-11-25 3 views

Répondre

1

Je pense que ce que l'OP veut, est d'accéder à son formulaire personnalisé grâce à un bouton similaire à l'accès par défaut au OverviewMap/LayerSwitcher dans OpenLayers.

Comment faire cela peut être extrait de la façon dont le * contrôle OverviewMap est mis en œuvre:

this.div.className += " " + this.displayClass + 'Container'; 
var imgLocation = OpenLayers.Util.getImagesLocation(); 
// maximize button div 
var img = imgLocation + 'layer-switcher-maximize.png'; 
this.maximizeDiv = OpenLayers.Util.createAlphaImageDiv(
         this.displayClass + 'MaximizeButton', 
         null, 
         new OpenLayers.Size(18,18), 
         img, 
         'absolute'); 
this.maximizeDiv.style.display = 'none'; 
this.maximizeDiv.className = this.displayClass + 'MaximizeButton'; 
OpenLayers.Event.observe(this.maximizeDiv, 'click', 
         OpenLayers.Function.bindAsEventListener(this.maximizeControl, 
                   this) 
); 
this.div.appendChild(this.maximizeDiv); 

// minimize button div 
var img = imgLocation + 'layer-switcher-minimize.png'; 
this.minimizeDiv = OpenLayers.Util.createAlphaImageDiv(
         'OpenLayers_Control_minimizeDiv', 
         null, 
         new OpenLayers.Size(18,18), 
         img, 
         'absolute'); 
this.minimizeDiv.style.display = 'none'; 
this.minimizeDiv.className = this.displayClass + 'MinimizeButton'; 
OpenLayers.Event.observe(this.minimizeDiv, 'click', 
OpenLayers.Function.bindAsEventListener(this.minimizeControl, 
             this) 
); 
this.div.appendChild(this.minimizeDiv); 

var eventsToStop = ['dblclick','mousedown']; 

for (var i=0, len=eventsToStop.length; i<len; i++) { 
    OpenLayers.Event.observe(this.maximizeDiv, 
          eventsToStop[i], 
          OpenLayers.Event.stop); 

    OpenLayers.Event.observe(this.minimizeDiv, 
          eventsToStop[i], 
          OpenLayers.Event.stop); 
} 

*: Extrait du fichier: OpenLayers/lib/OpenLayers/Contrôle/OverviewMap.js

Insérer et en modifiant cela, pourrait être utilisé pour créer l'effet que je pense que vous recherchez.

Bonne chance!

+0

merci pour votre réponse – ricardo

Questions connexes