2011-09-18 16 views
6

Mi aplicación es impulsada por jquery mobile y utiliza geolocalización.Cómo llamar a la función cuando el usuario permite o niega el acceso a "Ubicación física"?

Después de mis intentos de aplicación para obtener la ubicación del usuario, la (Chrome) del navegador pide al usuario:

Example.com quiere realizar un seguimiento de su ubicación física [permitirá] [niegan]

mi objetivo es:

  1. Si el usuario hace clic en "Permitir", la función se llama 1 (ubicación se utiliza por aplicación).
  2. Si el usuario hace clic en "Denegar", se llama a la función 2 (aparece el formulario de dirección ).

¿Cómo puedo vincular una función al evento que ocurre (si existe) cuando el usuario hace clic en el botón "Permitir" o "Denegar"?

+0

Es probable que no se puede obligar a nada a esos botones, pero lo que hace la función de llamar retorno al hacer clic en "negar"? –

+0

Cuando se hace clic en "denegar", el usuario se transfiere a una página donde debe completar su dirección. La dirección se envía a un servicio web que devuelve la geolocalización. – edt

Respuesta

14

La función getCurrentPosition acepta dos argumentos de funciones. ¡Diablos, el primero se ejecuta cuando se permite y el otro cuando se niega!

Documentation

http://jsfiddle.net/pimvdb/QbRHg/

navigator.geolocation.getCurrentPosition(function(position) { 
    alert('allow'); 
}, function() { 
    alert('deny'); 
}); 
+4

¿Hay un evento que se activa cuando el usuario simplemente cierra el cuadro de diálogo o selecciona "no ahora" (en Firefox), en lugar de hacer clic en "rechazar"? –

+0

Esto no funciona en FF. –

+2

Esto no funciona exactamente. Ojalá lo hiciera Recibo unos segundos de nada antes de que el evento, o la alerta en este ejemplo, dispare. Entonces, el usuario se queda sin retroalimentación durante unos segundos, lo cual es malo ... –

Cuestiones relacionadas