none
UpdatePanel con DropDownList RRS feed

  • Pregunta

  • Hola quisiera saber la forma de actualizar un div que contiene un mapa de Google Maps, lo puse dentro de un UpdatePanel para que se actualice cada vez que el DropDownList_SelectedIndexChanged se dispare

    codigo de la pagina aspx

    <script type='text/javascript'>
        var map;
        function initMap()
        {
            var latid = "<%= latitud_v%>";
            var longi = "<%= longitud_v%>";
            var uluru = { lat: parseFloat(latid), lng: parseFloat(longi) };
            map = new google.maps.Map(document.getElementById('mapa1'),
            {
                center: uluru,
                zoom: 16
            });
            var marker = new google.maps.Marker
            ({
                ,
                map: map
            });
        }
        </script>
        <script src="https://maps.googleapis.com/maps/api/js?key=YourKEY&callback=initMap"
         defer></script>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <div id="formulario">
            <asp:Label ID="Label1" runat="server" Text="Marcador:"></asp:Label>
            <asp:DropDownList ID="cmbVendedor" runat="server" OnSelectedIndexChanged="cmbVendedor_SelectedIndexChanged">
            </asp:DropDownList>
                <asp:TextBox ID="txtLatitud" runat="server" Visible="False"></asp:TextBox>
                <asp:TextBox ID="txtLongitud" runat="server" Visible="False"></asp:TextBox>
            </div>
            <div id="mapa1" style="width:650px;height:240px;border:2px solid blue;">

            </div>
        </ContentTemplate>
    </asp:UpdatePanel>

    /***********************************************/

    las variables latitud_v y longitud_v son llamadas desde codigo a la base de datos

    y el mapa si es consultado correctamente y se puede cambiar las latitudes y longitudes de la base de datos del primer registro en la base y se carga en la nueva ubicacion pedida

    /******************************************************************/

    codigo fuente desde codebehind

    protected void cmbVendedor_SelectedIndexChanged(object sender, EventArgs e)
            {
                string csname1 = "Resultado Operacion";
                string script = "alert('registros consultados con exito');";
                Type cstype = this.GetType();
                ScriptManager.RegisterStartupScript(UpdatePanel1, cstype, csname1, script, true);
                //ClientScript.RegisterStartupScript(this.GetType(), "Script", "<script>javascript:initMap();</script>", true);
            }

    Un Saludo

    Roger Peñafiel



    • Editado Roger Peñafiel miércoles, 10 de mayo de 2017 1:33 mejorando explicacion
    miércoles, 10 de mayo de 2017 1:28

Respuestas

Todas las respuestas

  • hola

    no deberias mezclar de esa forma, el mapa ejecuta en el cliente con javascript, por lo tanto los datos del servidor deberias recuperlos de la misma forma, es por eso que existe jquery ajax para invocar un webmethod y obtener los datos

    Return JSON data (object) from WebMethod (PageMethod) in ASP.Net using C# and VB.Net

    la idea es que aplique esa misma tecnica para recuperar los valores desde el servidor y usarlos en el cliente, se realiza por medio de ajax obteniendo el json

    cuando programas con mapas los eventos de asp.net debrias pensar en dejar de usarlos

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    miércoles, 10 de mayo de 2017 2:30
  • Hola

    Tal vez sea muy novato en esto, pero ¿eso no dejaria el mismo problema? pues por ahora lo que se dificulta es la actualizacion del mapa cada vez que el usuario escoge una nueva persona a la cual quiere revisar la ubicacion que ingreso al sistema.

    Saludos

    Roger Peñafiel

    miércoles, 10 de mayo de 2017 16:12