HTML5怎樣獲取地理信息,如html5怎樣獲取ip地址,怎樣實(shí)現(xiàn)gps導(dǎo)航定位,wifi基站的mac地址服務(wù)等,這些在HTML5中已經(jīng)都已經(jīng)有API實(shí)現(xiàn)了,用戶可以輕松使用html5技術(shù)進(jìn)行操作,下面詳細(xì)為大家介紹HTML5操作地理信息。
專注于為中小企業(yè)提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)萊陽(yáng)免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
1、HTML5中ip地址
其實(shí)在中國(guó)IP地址還是比較準(zhǔn)確,書(shū)上說(shuō)不準(zhǔn)確,很多時(shí)候獲取的是ISP機(jī)房的位置,但是獲取非常方便,沒(méi)有什么限制。但是實(shí)際上我覺(jué)得在中國(guó),ip地址還是比較準(zhǔn)確的,基本上上能精確到小區(qū)或大樓的標(biāo)準(zhǔn)。
2、HTML5中GPS定位操作
GPS定位非常準(zhǔn)確,但是需要在戶外,且需要很長(zhǎng)時(shí)間搜索衛(wèi)星。但前提就是硬件設(shè)備要支持GPS。最主要的很多設(shè)備比如筆記本電腦基本都是不帶GPS的,新的智能手機(jī)purse hanger倒是都有。
3、WiFi基站的mac地址。
(猜測(cè)是連接位置已知的公共WiFi的時(shí)候,通過(guò)Mac地址識(shí)別WiFi接入點(diǎn),從而定位)
這種定位的精度還是很不錯(cuò)的,而且還可以在室內(nèi)定位。不過(guò)由于這種位置公開(kāi)的wifi比較少,此種方法的適用范圍比較少。
4、 GSM或CDMA基站
通過(guò)基站定位,精度隨基站密度變化,精度一般,還是只有手機(jī)能用??磥?lái)地理位置API還是手機(jī)上比較有實(shí)用性。
5、用戶指定位置
暈,這個(gè)就不是HTML5的范疇了。
地理位置獲取流程步驟:
1、用戶打開(kāi)需要獲取地理位置的web應(yīng)用。
2、應(yīng)用向?yàn)g覽器請(qǐng)求地理位置,瀏覽器彈出詢問(wèn)窗口,詢問(wèn)用戶是否共享地理位置。
3、假設(shè)用戶允許,瀏覽器從設(shè)別查詢相關(guān)信息。
4、瀏覽器將相關(guān)信息發(fā)送到一個(gè)信任的位置服務(wù)器,服務(wù)器返回具體的地理位置。
地理位置獲取流程:
1、用戶打開(kāi)需要獲取地理位置的web應(yīng)用。
2、應(yīng)用向?yàn)g覽器請(qǐng)求地理位置,瀏覽器彈出詢問(wèn)窗口,詢問(wèn)用戶是否共享地理位置。
3、假設(shè)用戶允許,瀏覽器從設(shè)別查詢相關(guān)信息。
4、瀏覽器將相關(guān)信息發(fā)送到一個(gè)信任的位置服務(wù)器,服務(wù)器返回具體的地理位置。
檢測(cè)瀏覽器支持:
JavaScript Code復(fù)制內(nèi)容到剪貼板
function loadDemo() {
if(navigator.geolocation) {
document.getElementById(“support”).innerHTML = “HTML5 Geolocation supported.”;
} else {
document.getElementById(“support”).innerHTML = “HTML5 Geolocation is not supported in
your browser.”;
}
}
位置請(qǐng)求方式:
單次請(qǐng)求
JavaScript Code復(fù)制內(nèi)容到剪貼板
navigator.geolocation.getCurrentPosition(updateLocation, handleLocationError, options);
回調(diào)函數(shù)updateLocation接受一個(gè)對(duì)象參數(shù),表示當(dāng)前的地理位置,它有如下屬性:
latitude——緯度
longitude——精度
accuracy——精確度,單位米
altitude——高度,單位米
altitudeAccuracy——高度的精確地,單位米
heading—運(yùn)動(dòng)的方向,相對(duì)于正北方向的角度
speed——運(yùn)動(dòng)的速度(假設(shè)你在地平線上運(yùn)動(dòng)),單位米/秒
回調(diào)函數(shù)handleLocationError接受錯(cuò)誤對(duì)象,error.code是如下錯(cuò)誤號(hào)。
UNKNOWN_ERROR (error code 0) —— 錯(cuò)誤不在如下三種之內(nèi),你可以使用error.message獲取錯(cuò)誤詳細(xì)信息。
PERMISSION_DENIED (error code 1)—— 用不選擇不共享地理位置
POSITION_UNAVAILABLE (error code 2) ——無(wú)法獲取當(dāng)前位置
TIMEOUT (error code 3) ——在指定時(shí)間無(wú)法獲取位置會(huì)觸發(fā)此錯(cuò)誤。
第三個(gè)參數(shù)options是可選參數(shù),屬性如下:
enableHighAccuracy——指示瀏覽器獲取高精度的位置,默認(rèn)為false。當(dāng)開(kāi)啟后,可能沒(méi)有任何影響,也可能使瀏覽器花費(fèi)更長(zhǎng)的時(shí)間獲取更精確的位置數(shù)據(jù)。
timeout——指定獲取地理位置的超時(shí)時(shí)間,默認(rèn)不限時(shí)。單位為毫秒。
maximumAge——最長(zhǎng)有效期,在重復(fù)獲取地理位置時(shí),此參數(shù)指定多久再次獲取位置。默認(rèn)為0,表示瀏覽器需要立刻重新計(jì)算位置。
HTML5中獲取地址可以使用 getCurrentPosition() 方法來(lái)獲得用戶的位置。
Internet Explorer 9、Firefox、Chrome、Safari 以及 Opera 支持地理定位。
下例是一個(gè)簡(jiǎn)單的地理定位實(shí)例:
p?id="demo"點(diǎn)擊這個(gè)按鈕,獲得您的坐標(biāo):/p
button?onclick="getLocation()"試一下/button
script
var?x=document.getElementById("demo");
function?getLocation()
{
if?(navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(showPosition);
}
else{x.innerHTML="Geolocation?is?not?supported?by?this?browser.";}
}
function?showPosition(position)
{
x.innerHTML="Latitude:?"?+?position.coords.latitude?+?
"br?/Longitude:?"?+?position.coords.longitude;
}
/script
HTML5 是下一代的 HTML。有許多現(xiàn)在版本HTML中沒(méi)有的新特性。