7
votes

HTML5 Géolocalisation 2ème invite

Y a-t-il un moyen d'inviter l'utilisateur à la géolocalisation sur certains déclencheurs, après avoir refusé le partage de l'emplacement?

navigator.geolocation.getCurrentPosition 


0 commentaires

3 Réponses :


0
votes

Jetez un coup d'oeil à cet extrait de code et cette réponse: Quel est le meilleur plug-in jquery qui gère HTML5 Emplacement?

if (navigator.geolocation) {
   navigator.geolocation.getCurrentPosition(successFunction, errorFunction);
}else{
   errorFunction();
}

function successFunction(position) { //uses HTML5 if available
    var lat = position.coords.latitude;
    var lng = position.coords.longitude;
}

function errorFunction(){ //uses IP if no HTML5
   $.getJSON("http://freegeoip.net/json/", function(res){
        var lat = res.latitude;
        var lng = res.longitude;
   });
}


3 commentaires

Cela résout-t-il réellement le problème en question ici (que l'invite à autoriser la recherche de géolocalisation ne vient pas à nouveau après que cela a été refusé une fois) ...? J'en doute.


ne répond pas à ma question cependant


Je suppose que le seul moyen de contourner consiste à rafraîchir la page (si elle est une option) pour pouvoir vous inviter à nouveau.



0
votes

dans l'API de géolocalisation? Non.

Si l'utilisateur clique sur la permission de refuser la permission, cela signifie simplement "Non, et ne me dérange pas encore ..."

Cependant, l'utilisateur peut le faire en supprimant les paramètres de localisation-actions, puis bien sûr. L'invite apparaît à nouveau.

ou utilisateur peut simplement modifier les paramètres si le navigateur le permet, par exemple, par exemple Chrome gère ces paramètres comme des exceptions (nuisibles si l'utilisateur a permis ou refusé la permission) afin que l'utilisateur doit supprimer les paramètres, resp. EXCEPTION TOUTEILLE de toute façon.

Que maintenant?

Votre seule option consiste à attraper l'erreur et à utiliser E.G. une API externe pour trouver l'emplacement de l'utilisateur par IP. Vous pouvez le programmer par vous-même ou il existe bien sûr des solutions existantes comme @venkat suggérées.

Mais soyez au courant de la géolocalisation IP est une excellente précision de l'adresse, il est parfois juste exactement de l'état .

Cet example de Mozilla's Docs < / a> montre un bon exemple comment gérer les erreurs de géolocalisation: xxx


0 commentaires

0
votes

La meilleure option pour cela est de configurer une sous-domaine de géolocalisation et de le charger dans un iframe.

geo-0.domain.com
geo-1.domain.com
geo-2.domain.com
geo-3.domain.com
geo-4.domain.com
geo-N.domain.com


0 commentaires