1

をクリックすると、タグGPS-linkに を実装してみます。しかし、うまくいきません! urla

jQuery:

$(document).ready(function(){

  /* add geolocation */
  $("a.target").click(function(){
    if(navigator.geolocation) {
       navigator.geolocation.getCurrentPosition(showPosition);
    }
    else
    {
       alert("Geolocation is not supported by this browser.");
    }
  }
  function showPosition(pos){
     var lat = pos.coords.latitude;
     var lon = pos.coords.longitude;

     /* GPS link */
     $("a.target").attr("href", 
            "http://dev.market-locator.com/geolocation-lijst?distance[latitude]="
            + lat + "&distance[longitude]=" + lon
            + "&distance[search_distance]=20&distance[search_units]=km");
   }

});

HTML:

...
<a class="target">Link</a>
...
4

3 に答える 3

1

jQuery コードは次のようになります。

$(document).ready(function(){

      /* add geolocation */
      $("a.target").click(function(){
        if(navigator.geolocation) {
          showPosition(navigator.geolocation.getCurrentPosition());
        }
        else
        {
          alert("Geolocation is not supported by this browser.");
        }
      });
  });

 function showPosition(pos){
    var lat = pos.coords.latitude;
    var lon = pos.coords.longitude;

    /* GPS link */
    $("a.target").attr("href", "http://dev.market-locator.com/geolocation-lijst?distance[latitude]=" + lat + "&distance[longitude]=" + lon + "&distance[search_distance]=20&distance[search_units]=km");
    window.location.href = "http://dev.market-locator.com/geolocation-lijst?distance[latitude]=" + lat + "&distance[longitude]=" + lon + "&distance[search_distance]=20&distance[search_units]=km"; //add this line
}

関数は関数の外で定義する必要があります.ready()

于 2013-10-30T11:30:57.567 に答える
0

まず、クリック機能を適切に閉じていない可能性があります。

  $("a.test").click(function(){
    if(navigator.geolocation) {
      navigator.geolocation.getCurrentPosition(showPosition);
    } else {
      alert("Geolocation is not supported by this browser.");
    }
  });  
于 2013-10-30T11:31:19.603 に答える