精品免费在线观看-精品欧美-精品欧美成人bd高清在线观看-精品欧美高清不卡在线-精品欧美日韩一区二区

17站長網(wǎng)

17站長網(wǎng) 首頁 編程教程 Html5教程 查看內(nèi)容

HTML5 Geolocation 地理定位

html5 Geolocation(地理定位)用于定位用戶的位置

定位用戶的位置

html5 Geolocation API 用于獲得用戶的地理位置

鑒于該特性可能侵犯用戶的隱私,除非用戶同意,否則用戶位置信息是不可用的

瀏覽器支持

Internet Explorer 9+,Firefox,Chrome,Safari 和 Opera 支持 Geolocation(地理定位).

Geolocation(地理定位)對于擁有 GPS 的設(shè)備,比如 iPhone,地理定位更加精確

使用地理定位

HTML DOM getCurrentPosition() 方法用來獲得用戶的位置

下面的范例演示了一個簡單的的地理定位,返回用戶位置的經(jīng)度和緯度

var x = document.getElementById("demo");
function getLocation(){
  if (navigator.geolocation) {
     navigator.geolocation.getCurrentPosition(showPosition);  } else {
     x.innerHTML="該瀏覽器不支持獲取地理位置";    }
}
 
function showPosition(position)   {
 x.innerHTML="緯度: " + position.coords.latitude + "<br>經(jīng)度: " + position.coords.longitude;      
}

 檢測瀏覽器是否支持地理定位
 如果支持,則運行 getCurrentPosition() 方法
 如果不支持,則向用戶顯示一段消息
 如果 getCurrentPosition() 運行成功,則向參數(shù) showPosition 中規(guī)定的函數(shù)返回一個 coordinates 對象
 showPosition() 函數(shù)獲得并顯示經(jīng)度和緯度

注意: 這個范例是一個非常基礎(chǔ)的地理定位腳本,不含錯誤處理

處理錯誤和拒絕

方法 getCurrentPosition() 的第二個參數(shù)用于處理錯誤,規(guī)定了當(dāng)獲取用戶位置失敗時運行的函數(shù)

function showError(error){
    switch(error.code) {
        case error.PERMISSION_DENIED:
            x.innerHTML="用戶拒絕對獲取地理位置的請求。"
            break;
        case error.POSITION_UNAVAILABLE:
            x.innerHTML="位置信息是不可用的。"
            break;
        case error.TIMEOUT:
            x.innerHTML="請求用戶地理位置超時。"
            break;
        case error.UNKNowN_ERROR:
            x.innerHTML="未知錯誤。"
            break;
    }
}

錯誤代碼

錯誤代碼 描述
Permission denied 用戶不允許地理定位
Position unavailable 無法獲取當(dāng)前位置
Timeout 操作超時

在地圖中顯示結(jié)果

如需在地圖中顯示結(jié)果,需要訪問可使用經(jīng)緯度的地圖服務(wù),比如谷歌地圖或百度地圖

function showPosition(position){
    var latlon=position.coords.latitude+","+position.coords.longitude;
    var img_url="http://maps.googleapis.com/maps/api/staticmap?center="+latlon+"&zoom=14&size=400x300&sensor=false";
    document.getElementById("mapholder").innerHTML="<img src='"+img_url+"'>";
}

上面這個范例,我們我們使用返回的經(jīng)緯度數(shù)據(jù)在谷歌地圖中顯示位置(使用靜態(tài)圖像)

這個范例演示了如何使用腳本來顯示帶有標(biāo)記、縮放和拖曳選項的交互式地圖

給定位置的信息

本節(jié)大部分的范例是如何在地圖上顯示用戶的位置

不過,地理定位對于給定位置的信息同樣很有用處

范例

  1. 更新本地信息

  2. 顯示用戶周圍的興趣點

  3. 交互式車載導(dǎo)航系統(tǒng) (GPS)

getCurrentPosition() 方法 - 返回數(shù)據(jù)

若成功,則 getCurrentPosition() 方法返回對象

始終會返回 latitude、longitude 以及 accuracy 屬性

如果可用,則會返回下面的屬性

屬性 描述
coords.latitude 十進(jìn)制數(shù)的緯度
coords.longitude 十進(jìn)制數(shù)的經(jīng)度
coords.accuracy 位置精度
coords.altitude 海拔,海平面以上以米計
coords.altitudeAccuracy 位置的海拔精度
coords.heading 方向,從正北開始以度計
coords.speed 速度,以米/每秒計
timestamp 響應(yīng)的日期/時間

Geolocation 對象 - 其它有趣的方法

方法 描述
watchPosition() 返回用戶的當(dāng)前位置,并繼續(xù)返回用戶移動時的更新位置
clearWatch() 停止 watchPosition() 方法

下面的范例演示儀了 watchPosition() 方法,你需要一臺精確的 GPS 設(shè)備來測試該范例

var x=document.getElementById("demo");
function getLocation(){
    if (navigator.geolocation){
        navigator.geolocation.watchPosition(showPosition);
    }else{
        x.innerHTML="該瀏覽器不支持獲取地理位置。";
    }
}
function showPosition(position){
    x.innerHTML="緯度: " + position.coords.latitude + 
    "<br>經(jīng)度: " + position.coords.longitude; 
}
返回頂部
主站蜘蛛池模板: 午夜国产在线视频 | 国内自拍第五一页 | 国产精品午夜高清在线观看 | 日韩视频www| 国产精品视频牛仔裤一区 | 麻豆入口视频在线观看 | 色播亚洲精品网站 亚洲第一 | 天海翼一区二区三区高清视频 | 黄色仓库在线观看 | 亚洲综合精品香蕉久久网97 | 成人网久久 | 日韩美女中文字幕 | 成人网址在线观看 | 精品国产一区二区三区久久影院 | 亚洲综合视频 | 目韩一区二区三区系列片丶 | 黄色影 | 国产亚洲精品自在久久77 | 国产精品毛片大码女人 | 久久久久999| 天堂网果冻传媒 | 亚洲婷婷综合中文字幕第一页 | 亚洲欧洲精品久久 | 香蕉eeww99国产在线观看 | 黄色网址在线免费播放 | 成人国产精品免费视频不卡 | 成人在线不卡 | 国产一级免费在线观看 | 91香蕉视频在线观看免费 | 国产一区日韩二区欧美三 | 国产成人精品系列在线观看 | 综合网女女网 | 欧美日韩成人高清在线播放 | 国产一区二区精品久久91 | 青草视频网 | 国产精品一国产精品 | 视频办公室添的我好爽 | 午夜精品久久久久久久99 | 激情网址在线观看 | 福利午夜| 亚洲精品国产第一综合99久久 |