一:定位用戶的位置
HTML5 Geolocation API 用于獲得用戶的地理位置蛹稍。
鑒于該特性可能侵犯用戶的隱私,除非用戶同意搀暑,否則用戶位置信息是不可用的假褪。
二:瀏覽器支持
Internet Explorer 9、Firefox杂抽、Chrome诈唬、Safari 以及 Opera 支持地理定位。
注釋:對(duì)于擁有 GPS 的設(shè)備缩麸,比如 iPhone铸磅,地理定位更加精確。
三:HTML5 - 使用地理定位
請(qǐng)使用 getCurrentPosition() 方法來獲得用戶的位置杭朱。
下例是一個(gè)簡單的地理定位實(shí)例阅仔,可返回用戶位置的經(jīng)度和緯度。
實(shí)例:
例子解釋:
檢測(cè)是否支持地理定位
如果支持痕檬,則運(yùn)行 getCurrentPosition() 方法霎槐。如果不支持,則向用戶顯示一段消息梦谜。
如果getCurrentPosition()運(yùn)行成功丘跌,則向參數(shù)showPosition中規(guī)定的函數(shù)返回一個(gè)coordinates對(duì)象
showPosition() 函數(shù)獲得并顯示經(jīng)度和緯度
上面的例子是一個(gè)非秤牡耍基礎(chǔ)的地理定位腳本沾谜,不含錯(cuò)誤處理。
處理錯(cuò)誤和拒絕
getCurrentPosition() 方法的第二個(gè)參數(shù)用于處理錯(cuò)誤丰歌。它規(guī)定當(dāng)獲取用戶位置失敗時(shí)運(yùn)行的函數(shù):
實(shí)例:
錯(cuò)誤代碼:
Permission denied - 用戶不允許地理定位
Position unavailable - 無法獲取當(dāng)前位置
Timeout - 操作超時(shí)
四:getCurrentPosition() 方法 - 返回?cái)?shù)據(jù)
若成功荒澡,則 getCurrentPosition() 方法返回對(duì)象报辱。始終會(huì)返回 latitude、longitude 以及 accuracy 屬性单山。如果可用碍现,則會(huì)返回其他下面的屬性。
五:Geolocation 對(duì)象 - 其他有趣的方法
watchPosition() - 返回用戶的當(dāng)前位置米奸,并繼續(xù)返回用戶移動(dòng)時(shí)的更新位置(就像汽車上的 GPS)昼接。
clearWatch() - 停止 watchPosition() 方法
下面的例子展示 watchPosition() 方法。您需要一臺(tái)精確的 GPS 設(shè)備來測(cè)試該例(比如 iPhone):