瀏覽器定位

剛接觸前端,剛知道 HTML5  的時候,我一直以爲 瀏覽器定位的 API 是 HTML5 標準下的東西,直到後來才知道,有些東西並不是 HTML5 定義的玩意。

比如說:

1、SVG

2、瀏覽器定位

3、webSocket

....

暫時就記得這仨。

好了不廢話,繼續討論瀏覽器定位,嗯,其實,瀏覽器定位是比較廢柴的,定位精確度啥的,只能呵呵,不過在移動端精確度相對好很多。想想其實也沒啥錯,如果 pc 定位很精確的話,估計羣友就要順着網線過來打人了,所以,爲了安全考慮,你懂的。


恩我也沒啥要說的了,老規矩,上代碼:


/**
 * 瀏覽器定位
 */
(function() {
	if(navigator.geolocation){
		navigator.geolocation.getCurrentPosition(getPositionSuccess, getPositionError, {
			// 指示瀏覽器獲取高精度的位置,默認爲false
			enableHighAcuracy: true,
			// 指定獲取地理位置的超時時間,默認不限時,單位爲毫秒
			timeout: 5000,
			// 最長有效期,在重複獲取地理位置時,此參數指定多久再次獲取位置。
			maximumAge: 3000
		});
	}else{
		console.log("瀏覽器無法獲取您的位置");
	}
	
	function getPositionSuccess(coords){
		console.log("獲取成功");
		console.log(arguments.length);
		console.log(coords);
		for(var obj in arguments){
			console.log(arguments[obj]);
		} 
	}
	
	function getPositionError(error){
		console.log("獲取失敗");
		for(var obj in arguments){
			console.log(arguments[obj]);
		}
		switch(error.code) {
			case error.TIMEOUT:
				console.log("請求超時,請再次定位!");
				break;
			case error.POSITION_UNAVAILABLE:
				console.log('無法檢測您的位置信息!');
				break;
			case error.PERMISSION_DENIED:
				console.log('請您開啓瀏覽器定位功能,獲取您的位置信息!');
				break;
			case error.UNKNOWN_ERROR:
				console.log('定位異常!');
				break;
		}			
	}
});


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