Ich habe also ein ziemlich einfaches Stück JS mit dem 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
Grundsätzlich erhalten wir hier die aktuelle Position. Wenn sie erhalten wird, werden zwei "Wasserzeichen" in zwei Feldern platziert, die "Aktuelle Position" anzeigen, und zwei ausgeblendete Felder werden mit den lat-langen Daten als Wert erstellt (sie werden entfernt am Anfang, damit sie nicht jedes Mal dupliziert werden). Es gibt auch zwei Schaltflächen, an die eine Klickfunktion gebunden ist, die dasselbe tun. Leider funktioniert es jedes dritte Mal oder so. Was ist das Problem hier?
noLocation
Funktion aufgerufen? Wenn ja, können Sie ein Add - error
Parameter noLocation()
und dann error.code
und error.message
Sie bei der Fehlersuche helfen können. Es kann uns auch helfen zu wissen, welchen Browser Sie verwenden und ob Sie dasselbe Problem in verschiedenen Browsern sehen.