Anonymous user  |  Log in  |  Create Account


Advanced Zoom Control
Return to the code gallery
Autor: subgurim
Publicado: 2/27/2007
Leído: 73920 veces
Comentarios (0)
Valoracion: 4.515972


/**** Explicación / Description  ****/
Castellano
En este ejemplo se demuestra el modo de controlar cuando sale el usuario de cierto rango del zoom.
Lo que se hace es manejar el evento ZoomEnd en cliente y si vemos que se sale de ahí, mandar un aviso al servidor.

Inglés
This examples show how can we control when the user leaves certain zoom rank.
What we do is to manage the ZoomEnd event on client and if the user leaves the rank, we send info to the server.

/**** Código de servidor / Server code  ****/
using System;
using Subgurim.Controles;

public partial class Galeria_codigo_Ejemplos_Advanced_Zoom_Control : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            GMap1.addControl(new GControl(GControl.preBuilt.LargeMapControl));

            GMap1.addListener(new GListener(GMap1.GMap_Id, GListener.Event.zoomend,
             string.Format(@"
       function(oldLevel, newLevel)
       {{
          if ((newLevel > 7) || (newLevel < 4))
          {{
              var ev = new serverEvent('AdvancedZoom', {0});
              ev.addArg(newLevel);
              ev.send();
          }}
       }}
       ", GMap1.GMap_Id)));
        }
    }

    protected string GMap1_ServerEvent(object s, GAjaxServerEventOtherArgs e)
    {
        string js = string.Empty;
        switch (e.eventName)
        {
            case "AdvancedZoom":
                js = "alert('Out of the window. Zoom Level = " + e.eventArgs[0] + "')";
                break;
        }
        return js;
    }

}


/**** Código HTML / HTML Code  ****/
        <cc1:GMap ID="GMap1" runat="server" Width="600px" Height="400px" enableServerEvents="true" OnServerEvent="GMap1_ServerEvent" />
Powered by Subgurim.NET