68 votes

HTML 5 Invite d'emplacement géographique dans Chrome

Juste de commencer à faire en HTML 5 et un test de géo-localisation...l'aimer jusqu'à présent. Je suis frapper un peu de speed bump bien...quand j'essaie d'obtenir mon géolocalisation, google chrome bloque automatiquement la page à partir de l'obtention de mon emplacement. Cela ne se produit pas dans d'autres sites tels que le site ci-dessous:

http://html5demos.com/geo

Les scripts que j'utilise:

<script type="text/javascript" JavaScript" SRC="geo.js"></script>   
<script type="text/javascript" JavaScript" SRC="Utility.js"></script> 
<script type="text/javascript" JavaScript" SRC="jquery.js"></script> 
<script type="text/javascript" JavaScript" SRC="modernizr.js"></script>  

function get_location() {

        if (geo_position_js.init()) {
            geo_position_js.getCurrentPosition(show_map, handle_error);
        }

    }
    function show_map(position) {
        var latitude = position.coords.latitude;
        var longitude = position.coords.longitude;

        alert("lat:" + latitude + " long:" + longitude);


    }
    function handle_error(err) {
        alert(err.code);
        if (err.code == 1) {
            // user said no!
        }
    }

    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(show_map, handle_error);
    } else {
        error('not supported');
    }

Je suis en train de tester cela à partir d'un répertoire local sur ma machine, donc il n'y a pas vraiment d'un "domaine" like "http://whatever.com/mytestpage.html". Est-ce pour cette raison que je ne reçois pas invité? Si oui, est-il possible de forcer la browswer pour demander la permission d'obtenir à l'utilisateur de géo-localisation et est-il possible dans mon scénario?

97voto

robertc Points 35382

Il y a une sorte de restriction de sécurité en place dans Chrome pour l'utilisation de la géolocalisation à partir d'un file:/// URI, mais malheureusement, il ne semble pas enregistrer toutes les erreurs pour indiquer que. Il fonctionnera à partir d'un serveur web local. Si vous avez installé python essayez d'ouvrir une invite de commande dans le répertoire où les fichiers de test sont et en exécutant la commande:

python -m SimpleHTTPServer

Il devrait démarrer en place un serveur web sur le port 8000 (peut-être autre chose, mais je vais vous dire dans la console ce port, il est à l'écoute sur), puis accédez à l' http://localhost:8000/mytestpage.html

Si vous ne disposez pas de python il y a l'équivalent de modules en Ruby, ou Visual Web Developer Express est livré avec un construit en serveur web local.

2voto

Bishoy Hanna Points 901

Assurez-vous qu'il n'est pas bloqué selon vos paramètres

http://www.howtogeek.com/howto/16404/how-to-disable-the-new-geolocation-feature-in-google-chrome/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by: