位置:首頁(yè) > 軟件操作教程 > 編程開發(fā) > HTML > 問題詳情

HTML5 使用HTML5地理位置定位功能

提問人:劉團(tuán)圓發(fā)布時(shí)間:2020-11-16

    定位功能(Geolocation )是HTML5的新特性,因此只能在支持HTML5的瀏覽器上運(yùn)行,特別是手持設(shè)備(如iphone)的地理定位更加精確。首先我們要檢測(cè)用戶設(shè)備上的瀏覽器是否支持地理定位,如果支持,則獲取地理信息。這個(gè)特性可能侵犯用戶的隱私,除非用戶同意,否則用戶位置信息是不可用的。所以在訪問該應(yīng)用時(shí),會(huì)提示是否允許地理定位,選擇允許即可,JS代碼如下:

    function getLocation() {

    if (navigator.geolocation) {

    navigator.geolocation.getCurrentPosition(showPosition,showError);

    }else{

    alert("瀏覽器不支持地理定位。");

    }

    }

    從上面的代碼可以知道,如果用戶設(shè)備支持地理定位,則運(yùn)行g(shù)etCurrentPosition()方法。如果getCurrentPosition()運(yùn)行成功,則向參數(shù)showPosition中規(guī)定的函數(shù)返回一個(gè)coordinates對(duì)象,getCurrentPosition()方法的第二個(gè)參數(shù)showError用于處理錯(cuò)誤,它規(guī)定當(dāng)獲取用戶位置失敗時(shí)運(yùn)行的函數(shù)。

    我們先來看函數(shù)showError(),它規(guī)定獲取用戶地理位置失敗時(shí)的一些錯(cuò)誤代碼處理方式,JS代碼如下:

    function showError(error){

    switch(error.code) {

    case error.PERMISSiON_DENIED;

    alert("定位失敗,用戶拒絕請(qǐng)求地理定位");

    break;

    case error.POSITION_UNAVAILABLE:

    alert("定位失敗,位置信息是不可用");

    break;

    case error.TIMEOUT;

    alert("定位失敗,請(qǐng)求獲取用戶位置超時(shí)");

    break;

    case error.UNKN0WN_ERR0R:

    alert("定位失敗,定位系統(tǒng)失效");

    break;

    }

    }

    再來看函數(shù)showPosition(),調(diào)用coords的latitude和longitude即可獲取到用戶的諱度和經(jīng)度,JS代碼如下:

    function showEosition(position){

    var lat = position.coords.latitude;  //緯度

    var lag = positdon.coords.longitude; //經(jīng)度

    alert('緯度:'+lat+',經(jīng)度:'+lag);

    }

繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部