Тож у мене є досить простий біт JS за допомогою варення 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
В основному, що відбувається тут, ми отримуємо поточну позицію, якщо вона отримана, два "водяні знаки" розміщуються в двох полях, що кажуть "Поточна позиція", і два приховані поля створюються з даними lat-long як їх значення (вони видаляються на початку, щоб вони не дублювалися щоразу). Також є дві кнопки, на яких прив’язана функція клацання, яка робить те саме. На жаль, кожен третій раз так працює. У чому тут проблема ???
noLocation
функція? Якщо це так, ви можете додати error
параметр до noLocation()
і потім, error.code
і це error.message
може допомогти вам у налагодженні. Це також може допомогти нам дізнатися, який браузер ви використовуєте, і якщо ви бачите ту саму проблему в різних браузерах.