Quindi ho un po 'piuttosto semplice di JS usando il jammy navigator.geolocation.getCurrentPosition.
$(document).ready(function(){
$("#business-locate, #people-locate").click(function() {
navigator.geolocation.getCurrentPosition(foundLocation, noLocation);
});
navigator.geolocation.getCurrentPosition(foundLocation, noLocation);
function foundLocation(position) {
var lat = position.coords.latitude;
var lon = position.coords.longitude;
var userLocation = lat + ', ' + lon;
$("#business-current-location, #people-current-location").remove();
$("#Near-Me")
.watermark("Current Location")
.after("<input type='hidden' name='business-current-location' id='business-current-location' value='"+userLocation+"' />");
$("#people-Near-Me")
.watermark("Current Location")
.after("<input type='hidden' name='people-current-location' id='people-current-location' value='"+userLocation+"' />");
}
function noLocation() {
$("#Near-Me").watermark("Could not find location");
$("#people-Near-Me").watermark("Could not find location");
}
})//end DocReady
Fondamentalmente quello che sta succedendo qui è che otteniamo la posizione corrente, se viene ottenuta, due "filigrane" vengono posizionate in due campi che dicono "Posizione corrente" e due campi nascosti vengono creati con i dati lat-long come loro valore (vengono rimossi all'inizio in modo che non vengano duplicati ogni volta). Ci sono anche due pulsanti con una funzione click collegata a loro che fanno la stessa cosa. Sfortunatamente, ogni terza volta circa, funziona. Qual è il problema qui ???
noLocation
funzione viene chiamata? In tal caso, è possibile aggiungere un error
parametro ae noLocation()
quindi error.code
e error.message
può essere d'aiuto nel debug. Potrebbe anche aiutarci a sapere quale browser stai utilizzando e se vedi lo stesso problema in browser diversi.