PhoneGap API幫助文檔翻譯—Compass(羅盤)

  獲得該設備的當前朝向。
方法:
  • compass.getCurrentHeading
  • compass.watchHeading
  • compass.clearWatch
參數:
  • compassSuccess
  • compassError
  • compassOptions
compass.getCurrentHeading 
 
獲取羅盤的當前朝向。

簡單的範例:
navigator.compass.getCurrentHeading(compassSuccess, compassError, compassOptions);
說明:
羅盤是一個檢測設備方向或朝向的傳感器,使用度作爲衡量單位,取值範圍從0度到359.99度。
通過compassSuccess回調函數返回羅盤朝向數據
支持的平臺:
  • Android
  • iPhone
簡單的範例:
function onSuccess(heading) { alert('Heading: ' + heading); } function onError() { alert('onError!'); } navigator.compass.getCurrentHeading(onSuccess, onError);
完整的範例:
<!DOCTYPE html> <html> <head> <SCRIPT type=text/javascript charset=utf-8 src="phonegap.js"></SCRIPT> <SCRIPT type=text/javascript charset=utf-8>
	
	// 等待加載PhoneGap
	document.addEventListener("deviceready", onDeviceReady, false);
	
	// PhoneGap加載完畢
	function onDeviceReady() {
		navigator.compass.getCurrentHeading(onSuccess, onError);
	}
	
	// onSuccess: 返回當前的朝向數據
	function onSuccess(heading) {
		alert('Heading: ' + heading);
	}
	
	// onError: 返回朝向數據失敗
	function onError() {
		alert('onError!');
	}
	
</SCRIPT> 
</head> 
<body>
 <h1>Example</h1> 
<p>getCurrentHeading</p> 
</body> 
</html>

compass.watchHeading 
 
在固定的時間間隔獲取羅盤朝向的角度。
var watchID = navigator.compass.watchHeading(compassSuccess, compassError, [compassOptions]);
說明:
羅盤是一個檢測設備方向或朝向的傳感器,使用度作爲衡量單位,取值範圍從0度到359.99度。
compass.watchHeading每隔固定時間就獲取一次設備的當前朝向。每次取得朝向後,headingSuccess回調函數會被執行。通過compassOptions對象的frequency參數可以設定以毫秒爲單位的時間間隔。
返回的watch ID是羅盤監視週期的引用,可以通過compass.clearWatch調用該watch ID以停止對羅盤的監視。
支持的平臺:
  • Android
  • iPhone
簡單的範例:
function onSuccess(heading) {
	var element = document.getElementById('heading');
	element.innerHTML = 'Heading: ' + heading;
}
	
function onError() {
	alert('onError!');
}
	
var options = { frequency: 3000 };		//每隔3秒更新一次
	
var watchID = navigator.compass.watchHeading(onSuccess, onError, options);
完整的範例:
<!DOCTYPE html>
<html>
<head>
<title>Compass Example</title>
	
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" charset="utf-8">
	
	// watchID 是當前“watchHeading”的引用
	var watchID = null;
	
	// 等待加載PhoneGap
	document.addEventListener("deviceready", onDeviceReady, false);
	
	// PhoneGap加載完畢
	function onDeviceReady() {
		startWatch();
	}
	
	// 開始監視羅盤
	function startWatch() {
	
		// 每隔3秒鐘更新一次羅盤的朝向信息
		var options = { frequency: 3000 };
		   
		watchID = navigator.compass.watchHeading(onSuccess, onError, options);
	}
	
	// 停止監視羅盤
	function stopWatch() {
		if (watchID) {
			navigator.compass.clearWatch(watchID);
			watchID = null;
		}
	}
	
	// onSuccess: 返回羅盤的當前朝向
	function onSuccess(heading) {
		var element = document.getElementById('heading');
		element.innerHTML = 'Heading: ' + heading;
	}
	
	// onError: 獲取羅盤朝向失敗
	function onError() {
		alert('onError!');
	}
	
</script>
</head>
<body>
	<div id="heading">Waiting for heading...</div>
	<button onclick="startWatch();">Start Watching</button>
	<button onclick="stopWatch();">Stop Watching</button>
</body>
</html>
停止watch ID參數指向的羅盤監視。
navigator.compass.clearWatch(watchID);

  • watchID: 由compass.watchHeading返回的引用標示。
支持的平臺:
  • Android
  • iPhone
簡單的範例:
var watchID = navigator.compass.watchHeading(onSuccess, onError, options);
	
// ... 後繼處理 ...
	
navigator.compass.clearWatch(watchID);
完整的範例:
<!DOCTYPE html>
<html>
<head>
<title>Compass Example</title>
	
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" charset="utf-8">
	
	// watchID是當前 “watchHeading” 的引用
	var watchID = null;
	
	// 等待加載PhoneGap
	document.addEventListener("deviceready", onDeviceReady, false);
	
	// PhoneGap加載完畢
	function onDeviceReady() {
		startWatch();
	}
	
	// 開始監視羅盤
	function startWatch() {
	   
		// 每隔3秒鐘更新一次羅盤數據
		var options = { frequency: 3000 };
	
		watchID = navigator.compass.watchHeading(onSuccess, onError, options);
	}
	
	// 停止監視羅盤
	function stopWatch() {
		if (watchID) {
			navigator.compass.clearWatch(watchID);
			watchID = null;
		}
	}
	
	// onSuccess: 返回羅盤的當前朝向
	function onSuccess(heading) {
		var element = document.getElementById('heading');
		element.innerHTML = 'Heading: ' + heading;
	}
	
	// onError: 獲取羅盤朝向失敗
	function onError() {
		alert('onError!');
	}
	
</script>
</head>
<body>
	<div id="heading">Waiting for heading...</div>
	<button onclick="startWatch();">Start Watching</button>
	<button onclick="stopWatch();">Stop Watching</button>
</body>
</html>

compassSuccess 
 
提供羅盤朝向信息的onSuccess回調函數。
function(heading) { // 進一步處理
}
參數:
  • heading:在某一時刻的羅盤朝向角度 (從0度到359.99度之間)。(數字類型)
範例:
function onSuccess(heading) { alert('Heading: ' + heading); }

compassError 
 
羅盤方法的onError回調函數。
function() { // 錯誤處理
}

compassOptions 
 
定製檢索羅盤朝向的可選參數。
選項:
  • frequency:多少毫秒獲取一次羅盤朝向。(數字類型)(默認值:100)


更多信息參考:

PhoneGap中國:www.phonegap.cn

中文討論組:groups.google.com/group/PhoneGapCN

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章