だから私はnavigator.geolocation.getCurrentPosition jammyを使用するかなり単純なJSを持っています。
$(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
基本的にここで起こっていることは、現在の位置を取得することです。取得すると、「現在の位置」という2つのフィールドに2つの「透かし」が配置され、緯度と経度のデータを値として2つの非表示フィールドが作成されます(これらは削除されます)最初は、毎回複製されることがないように)。同じことを行うクリック機能が関連付けられた2つのボタンもあります。残念ながら、3回おきに動作します。ここの問題は何ですか???
noLocation
関数が呼び出されていますか?もしそうなら、あなたは追加することができますerror
にパラメータをnoLocation()
して、error.code
そしてerror.message
デバッグに役立つことがあります。また、使用しているブラウザーや、異なるブラウザーで同じ問題が発生するかどうかを確認するのにも役立ちます。