none
Usando javascript para recuperar coordenadas (master page, bootstrap 3.0) RRS feed

  • Pregunta

  • Hola tengo el sig codigo

    <script type="text/javascript">
            window.onload = obtenUbicacion;
            function obtenUbicacion() {
                getCoordenadas();
               
            }
            function getCoordenadas() {
                if (navigator.geolocation) {
                    navigator.geolocation.getCurrentPosition(coordenadas);
                } else {
                    alert('Este navegador es algo antiguo, actualiza para usar el API de localización');
                }
               
            }
            function coordenadas(position) {
                var lat = position.coords.latitude;
                var lon = position.coords.longitude;
                
                document.getElementById("oclatitud").value = lat;
                document.getElementById("oclongitud").value = lon;
                //document.getElementById("oclongitud").value = lon;
                document.getElementById("txtlatitud").value = lat;
                document.getElementById("txtlongitud").value = lon;
    
            }
               
      
           </script>

    en una pagina normal me funciona muy bien, el conseguir las coordenadas al momento que se carga la pagina, pero si trato de anidar esa misma pagina en una pagina maestra ya no puedo conseguir las coordenadas no me las da, eh puesto alert en la funcion y si se dispara me refiero que en los dos opciones si entra a la funcion pero cuando uso pagina maestra para anidarla no me obtiene latitud ni longitud.

    saludos.

    sábado, 9 de mayo de 2015 16:50

Respuestas

  • hola

    cuando usas getElementById los controles que seleccionas son de asp.net o html ?

    porque sino deberias usar el ClientID para poder acceder al nombre real que asp.net le puso al control

    document.getElementById("<%=txtlatitud.ClientID%>").value = lat;

    Nota: este codigo javascript debe estar en el mismo lugar donde defines los controles sino no tendras acceso al ClientID

    ----

    aunque si usas jquery seria mas simple, porque usarias un selector

    $("[id*='txtlatitud']").val(lat);

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    sábado, 9 de mayo de 2015 23:00

Todas las respuestas

  • Esto funciona pruebalo y cuentanos como te fue

        <script type="text/javascript">
            function localizacion() {
                //capturando el elemento cuyo id es ID=demo
                d = document.getElementById("demo");
                if (navigator.geolocation) {
                    d.innerHTML = "<p>El dispositivo soporta geolocalizacion</p>";
                    navigator.geolocation.getCurrentPosition(mostrarPosicion, mostrarError);

                }
                else
                {
                    d.innerHTML = "<p>El dispositivo no soporta geolocalizacion</p>";
                }

            }

            function mostrarPosicion(position)
            {
                latitud = position.coords.latitude;
                longitud = position.coords.longitude;
                d.innerHTML += "<p>Latitud:" + latitud + "</p>";
                d.innerHTML += "<p>Longitud:" + longitud + "</p>";

                latlon = latitud + "," + longitud;
                var img_url = "http://maps.googleapis.com/maps/api/staticmap?center=" + latlon + "&zoom=14&size=350x250&sensor=false";
                d.innerHTML += "<img src='" + img_url + "'>";
            }

            function mostrarError(error)
            {

            }
        </script>

    </head>
    <body>
        <div id="geo1">
            <div id="demo"></div>
            <button onclick="localizacion()">Capturar Ubicacion</button>
        </div>

    </body>

    sábado, 9 de mayo de 2015 17:09
  • Gracias Fredsale

    el codigo que tengo si funciona y las lineas de codigo principalmente

      latitud = position.coords.latitude;
                longitud = position.coords.longitude;

    son las mismas de tu codigo al mio, mi duda es que cuando se esta creando la pagina interfiere algo con mi funcion :S

    como que hay algo que hace que no funcione cuando uso paginas maestras.

    sábado, 9 de mayo de 2015 17:30
  • Si usas bootstrap prueba instalando de nuevo , algunos de los archivos de js o css debe estar interfiriendo
    sábado, 9 de mayo de 2015 17:37
  • hola

    cuando usas getElementById los controles que seleccionas son de asp.net o html ?

    porque sino deberias usar el ClientID para poder acceder al nombre real que asp.net le puso al control

    document.getElementById("<%=txtlatitud.ClientID%>").value = lat;

    Nota: este codigo javascript debe estar en el mismo lugar donde defines los controles sino no tendras acceso al ClientID

    ----

    aunque si usas jquery seria mas simple, porque usarias un selector

    $("[id*='txtlatitud']").val(lat);

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    sábado, 9 de mayo de 2015 23:00