需求
設定了監控點位置以後就需要按照一定的時間間隔取得設備的位置,並比照設定好的監控點,如果有符合條件的監控點則觸發相應的動作。爲了實現上述功能首先需要實現按一定時間間隔做某件事的功能--定時器。
說明
function startTimer(interval, onTimer) {
var time = setTimeout(function () {
onTimer();
startTimer(interval, onTimer);
},
interval
)
}
函數startTimer內部調用了setTimeout函數,這個函數有兩個參數:一個是Timeout發生時被調用的回調函數(借用C語言的說法),一個是時間間隔,單位是毫秒。
startTimer執行之後,系統開始計時。當指定的事件間隔經過以後,回調函數被執行:首先調用onTimer函數,它由startTimer的利用者指定。接下來再次調用startTimer函數,用於啓動下一次定時器動作。如此循環往復。
使用時就簡單了,例如可以像下面這樣使用startTimer函數。
onLoad:function(){
startTimer(1000,function(){
console.log("OnTimer!")
});
},
目前雖然只是輸出log,加下來的幾天裏,我們會以這裏爲入口,實現定期取得目前位置,確認監控點的功能。
小程序代碼
最新代碼已經將代碼上傳到GitHub。
工程全體:
https://github.com/xueweiguo/alarmmap
index.js
https://raw.githubusercontent.com/xueweiguo/alarmmap/master/pages/index/index.js
寫在文章的最後