0
我想在每個時間間隔使用navigator.geolocation.watchPosition
獲取我的位置稍後,我想將這些座標存儲在xml文件中。HTML5和地理位置
問題是watchPosition
函數沒有調用getLocation
函數。
function trackCoords()
{
if (navigator.geolocation)
{
var options = { frequency: 3000 };
watchID = navigator.geolocation.watchPosition(getLocation, locationFail, options);
}
}
function getLocation(position) {
alert();
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
alert('latitude: ' + latitude + ' longitude: ' + longitude);
}
function locationFail() {
document.write('We did not get your location');
}
在此先感謝
我打電話trackCoords()在另一塊代碼至極的我認爲是無關緊要的。 $('#track')。click(trackCoords); 我測試過alert()和trackCoords()確實被調用,但代碼無法正常工作。 但是,當我在文檔的底部放置trackCoords()時,我的瀏覽器會要求許可進行地理定位。 – Beunzor
JavaScript應該位於文檔的底部,就在關閉body標籤之前,否則您嘗試將點擊事件綁定到不存在的元素,在這種情況下爲$('#track')。click (trackCoords);頁面從上到下加載,所以當它到達這個cose時,#track元素還沒有在那裏。另一個解決方法是將代碼包裝到$(document).ready(function(){/ *您的代碼在這裏* /}),這將只在dom被加載時執行 –
$('#track')。click (trackCoords); 已準備就緒。 我應該使用setTimeout跟蹤x秒後的座標嗎? 或者只有當你的位置發生變化時,錶盤纔會工作嗎? – Beunzor