12

I am using Firefox 30.0 (latest FF), and navigator.geolocation.getCurrentPosition is working in Chrome but not in this version of FF.

Here is my code:

if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(GEOprocess, GEOdeclined);
}else{
    alert('Your browser sucks. Upgrade it.');
}

function GEOdeclined(error) {
    alert('Error: ' +error.message);
}

function GEOprocess(position) {
    alert('it works');
}

I am getting this error:

Error: Unknown error acquiring position

Note: It stopped working after upgrading Firefox to version 30.0

EricSchaefer
  • 25,272
  • 21
  • 67
  • 103
user3244721
  • 714
  • 2
  • 11
  • 29

2 Answers2

29

Now I'm using 47 Mozilla. I have tried everything, but all time this problem. BUT then I open about:config in my address bar, go geo.wifi.uri and changed its value to "https://location.services.mozilla.com/v1/geolocate?key=test". works!

Márton Tamás
  • 2,759
  • 1
  • 15
  • 19
Vasyl Gutnyk
  • 4,813
  • 2
  • 34
  • 37
2

I've a possible solution:

I think that the mozilla guys have change something in the location adquisition process, so now it take more time and the function getCurrentPosition gets a timeout.

This will answer the question of why it works in chrome, worked in FF 29 and not in FF 30.0.

But thats a suposition. Now let's get back to the real world:

I've put a timeout of 10 seconds on the call and now it works. I've done it this way:

navigator.geolocation.getCurrentPosition(onSuccess, onError, {timeout:10000});

This fixed it for me. It works on FF 30.

inigoD
  • 1,681
  • 14
  • 26