4 votos

Las Capas abiertas Zoom En el mapa con un solo clic

Estoy tratando de hacer zoom en una ubicación en un solo clic. ¿Cómo puedo zoom hacia el punto en un solo clic? He intentado usar OpenLayers.De Control.ZoomIn y la adición de un controlador de clic, pero por alguna razón no registrar el "clic".

Aquí es un resumen de mi código:

map = ...; // map initialization 
... // added layers

// list of tools for map/feature manipulation
tools = 
{
  // ... tools
  // Tool In question :
  zoomIn : new OpenLayers.Control.ZoomIn({
                // zoom_in needs a click handler, otherwise, its just button on the map
                handler : new OpenLayers.Handler.Click(
                    this, // control
                    {'click' : this.trigger}, // callbacks
                    {'single' : true, 'double' : false, 'pixelTolerance' : 0} // options
                ),
                // overriding ZoomIn.trigger so I can call console.log and alert
                trigger : function(e) {
                    alert("Zoom in, please!");
                    console.log(e);
                    this.map.zoomIn();
                }
          }) // end zoomIn
} // end tools

for(key in tools) {
   map.addControl(tools[key]);
}

// I only made zoomIn active for testing...
tools.zoomIn.activate();

Así, la alerta no ocurra y tampoco lo hace la consola.log(e)... ¿Cómo es que la función de devolución de llamada no está recibiendo la llamada cuando hago clic en?

Gracias!

P. S. lo Siento si es algo tonto, soy nuevo a js...

5voto

Swinders Puntos 1042

No es necesario utilizar el ZoomIn el control. Eche un vistazo a la http://openlayers.org/dev/examples/click-handler.html ejemplos para ver cómo implementar un controlador personalizado.

3voto

eplawless Puntos 2076

Para completar geographika la respuesta, en este ejemplo, también podría ayudar a que el manejo de evento click : http://openlayers.org/dev/examples/click.html

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X