Enable HTTP Geolocation For Local Firefox Debugging
Im wondering why its still working for me but this is my code:
function geolocate() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition( function(position) { let lat = position.coords.latitude; let lng = position.coords.longitude; var geolocation = { lat: lat, lng: lng }; document.getElementById('lat').value = lat; document.getElementById('lng').value = lng; console.log("----------------------------------------------"); console.log("Found Location: "+ lat + " / " + lng); var google_maps_geocoder = new google.maps.Geocoder(); google_maps_geocoder.geocode( { 'latLng': geolocation }, function( results, status ) { let street = results[0].address_components[1].long_name; let number = results[0].address_components[0].long_name; let plz = results[0].address_components[6].long_name; let city = results[3].address_components[0].long_name; //let country = results[7].formatted_address; let full = street+" "+number+", "+plz+" "+city; // write the values in the fields document.getElementById('autocomplete').value = full; document.getElementById('route').value = street; document.getElementById('street_number').value = number; document.getElementById('postal_code').value = plz; document.getElementById('locality').value = city; //document.getElementById('country').value = country; console.log("User Address: "+street+" "+number+", "+plz+" "+city); $.ajax({ type: 'POST', url: 'include/set-location.inc.php', data: {lat: lat, lng: lng, street: street, number: number, plz: plz, city: city, full: full}, dataType: 'json', success: function(response) { if(response.status === 'success') { console.log("Saved address in a cookie!"); if (site === "jobs") { location.reload(true); } } } }); } ); }); } }
I hope my code will help you ;)
You can test on localhost without encryption
Firefox will not send Geolocation over a non secure connection and this behaviour cannot be disabled. However, localhost is considered to be a secure connection so that might be an option when testing. This also explains why Christopher Supertramp could try his code over http- he's on localhost.
This is from Mozilla documentation:
Locally delivered files such as http://localhost and file:// paths are considered to have been delivered securely.
https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts