Итак, у меня есть довольно простой бит JS, использующий 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
В основном, что происходит здесь, мы получаем текущую позицию, если она получена, два "водяных знака" помещаются в два поля, которые говорят "Текущая позиция", и два скрытых поля создаются с использованием данных lat-long в качестве их значения (они сначала удаляются, поэтому они не получают дублирования каждый раз). Есть также две кнопки, которые имеют функцию щелчка, привязанную к ним, которые делают то же самое. К сожалению, каждый третий раз или около того, он работает. Какая проблема здесь?
