The geolocation code in netwerk/wifi/nsWifiScannerFreeBSD.cpp is failing to return lat/lon location. Repeat by going to: http://html5demos.com/geo Grant it location access permission. It fails. It should work and show your lat/lon position. I wrote the code in nsWifiScannerFreeBSD.cpp back in 2012. I believe the wifi lookup code itself is still good. I have verified it is being compiled in (it is, it's in libxul.so). I have run firefox with debugging enabled and see that the code is still finding the local wifi networks (run firefox with "-MOZ_LOG=timestamp,WifiMonitor:4" to see this). A manual test of the geolocation API per the instructions here: https://developers.google.com/maps/documentation/geolocation/intro seems to show that the API key we are using has expired and billing needs to be enabled on it. Firefox appears to be getting the daily usage limit exceeded error.
Does geolocation work in www/chromium? That's where the API key originates. Like with SafeBrowsing the quota has to be extended. Unfortunately, I don't know who to contact.
Just tried it. No, it fails on www/chromium too.
According to this page: http://www.chromium.org/developers/how-tos/api-keys We need to enable billing on our Chromium Project page, but the use of the API is then free.
Does this workaround the issue? geo.wifi.uri https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY% – and if so, is it an _appropriate_ alternative? (NB the trailing `%`)
gecko@ doesn't have Mozilla API key, so bandwidth maybe limited. Open resource://gre/modules/AppConstants.jsm to inspect actual values for various %FOO% strings.
For me the percent values are (with part of the Google API key redacted in case it is somehow generated on build): MOZ_GOOGLE_LOCATION_SERVICE_API_KEY: "AIza...1mp8", MOZ_MOZILLA_API_KEY: "no-mozilla-api-key", And the advanced settings have: geo.provider.network.url https://www.googleapis.com/geolocation/v1/geolocate?key=%GOOGLE_LOCATION_SERVICE_API_KEY% Google has retired the v2 API on 26th of May 2021: https://developers.google.com/maps/documentation/javascript/v2tov3 So maybe that is the reason it does not work? I would really much like this to be fixed, as I do a geolocation based service.