HTML5 Gerlocation API概述
1.getCurrentPosition
HTML5中的GPS定位功能主要用的是getCurrentPosition,該方法封裝在navigator.geolocation屬性里,是navigator.geolocation對象的方法。使用getCurrentPosition方法可以獲取用戶當(dāng) 前的地理位置信息,該方法的定義如下:
getCurrentPosition(successCallback,errorCallback.positionOptions);
(1)successCallback
表示調(diào)用getCurrentPosition函數(shù)成功以后的回調(diào)函數(shù),該函數(shù)帶有一個(gè)參數(shù),對象字面量格式,表示獲取到的用戶位置數(shù)據(jù)。該對象包含兩個(gè)屬性coords和timestamp,其中coords屬性包含7個(gè)值:
? accuracy:精確度。
? latitude:諱度。
? longitude:經(jīng)度。
? altitude:海拔。
? altitudeAcuracy:海拔高度的精確度。
? heading:朝向。
? speed:速度。
(2)errorCallback
和successCallback函數(shù)一樣,有一個(gè)參數(shù),對象字面量格式,表示返回的錯(cuò)誤代碼。它包含兩個(gè)屬性:
? message:錯(cuò)誤信息。
? code:錯(cuò)誤代碼。
其中錯(cuò)誤代碼包括以下四個(gè)值:
? UNKNOW_ERROR:表示不包括在其他錯(cuò)誤代碼中的錯(cuò)誤,這里可以在message中查找錯(cuò)誤信息。
? PERMISSION_DENIED:表示用戶拒絕瀏覽器獲取位置信息的請求。
? POSITION_UNAVALIABLE:表示網(wǎng)絡(luò)不可用或者連接不到衛(wèi)星。
? TIMEOUT:表示獲取超時(shí)。必須在options中指定了timeou植時(shí),才有可能發(fā)生這種錯(cuò)誤。
(3)positionOptions
positionOptions的數(shù)據(jù)格式為JSON,有三個(gè)可選的屬性:
? enableHighAcuracy — 布爾值:表示是否啟用高精確度模式,如果啟用這種模式,瀏覽器在獲取位置信息時(shí),可能需要耗費(fèi)更多的時(shí)間。
? timeout — 整數(shù):表示瀏覽需要在指定的時(shí)間內(nèi)獲取位置信息,否則觸發(fā)errorCallback。
? maximumAge — 整數(shù)/常量:表示瀏覽器重新獲取位置信息的時(shí)間間隔。
2.watchCurrentPosition方法
該方法用于定期自動地獲取用戶的當(dāng)前位置信息,實(shí)例代碼如下:
watchCurrentPosition(successCallback,errorCallback,positionOptions);
該方法返回一個(gè)數(shù)字,這個(gè)數(shù)字的使用方法與JavaScript中setlnterval方法的返回參數(shù)的使用方法類似。該方法也有三個(gè)參數(shù),這三個(gè)參數(shù)的使用方法與getCurrentPosition方法中的參數(shù)說明與使用方法相同。
3.clearWatch方法
該方法用于停止對當(dāng)前用戶地理位置信息的監(jiān)視,它的定義如下:
clearWatch(watchid);
該方法的參數(shù)watchld是調(diào)用watchPosition方法監(jiān)視地理位置信息時(shí)的返回參數(shù)
點(diǎn)擊加載更多評論>>