html navigator "User denied Geolocation"

Sagi Mann picture Sagi Mann · Jul 30, 2012 · Viewed 57.4k times · Source

I have an issue with window.navigator, I'm getting error code 1, "User denied Geolocation" whenever I run the following code as a local html file:

navigator.geolocation.getCurrentPosition(function(position) {
        console.log(position);
    }, function(positionError) {
        console.log(positionError);
    });

The output is coming from the error function, positionError contains:

code: 1
message: "User denied Geolocation"

This does not happen if the containing html is served from some server.

Is this expected? Is there some way to use navigator from a local html? I am trying to write some mobile app, but am also trying to avoid network whenever possible.

thanks.

Answer

marteljn picture marteljn · Jul 30, 2012

If you are using chrome, please have a look at the answer below:

HTML 5 Geo Location Prompt in Chrome

It appears this is a security restriction for the file protocol. Looks like you are going to need to host it locally from a server.