2011-06-02 16 views
6

Estoy usando este código para obtener la geoposición del usuario. Todo va bien hasta que el usuario niegue el permiso para obtener la ubicación. Parece que esta opción se almacena en caché y no sé cómo restablecerla.Geolocalización API Permisos Navegador web

¿Hay alguna forma de volver a pedir permiso? ¡Gracias por adelantado!

if (navigator.geolocation) {            

     navigator.geolocation.getCurrentPosition(function(position) {  

      // Success Callback 


     }, function(error) { 
      //error Callback 

     },{ 
        //options 
      }); 
    }else{ 
     //geolocation not available 
    } 

Respuesta

1

Bastante seguro que esto es una configuración de navegador/dispositivo almacenada por sitio. Creo que el punto es que no se puede restablecer esto desde un script, ya que en primer lugar vencería el punto del mensaje. Creo que la única manera de reiniciar es cambiar la configuración en el navegador/dispositivo.

1

Como dijo bgreater, depende del navegador. Pero cuando el usuario niega el permiso para obtener la función de error de ubicación se llamará con el objeto de error. Este objeto de error contiene un código de error. Cuando el código de error es igual a 1, significa que el usuario niega el permiso.

var errorTypes = { 
    0: "Unknown error", 
    1: "Permission denied by user", 
    2: "Position is not available", 
    3: "Request timed out" 
}; 

Creo que puede verificar este código de error y mostrar al usuario algún tipo de información.

Cuestiones relacionadas