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操作地理信息。
成都做網(wǎng)站、網(wǎng)站建設(shè),成都做網(wǎng)站公司-創(chuàng)新互聯(lián)已向超過千家企業(yè)提供了,網(wǎng)站設(shè)計(jì),網(wǎng)站制作,網(wǎng)絡(luò)營銷等服務(wù)!設(shè)計(jì)與技術(shù)結(jié)合,多年網(wǎng)站推廣經(jīng)驗(yàn),合理的價格為您打造企業(yè)品質(zhì)網(wǎng)站。
1、HTML5中ip地址
其實(shí)在中國IP地址還是比較準(zhǔn)確,書上說不準(zhǔn)確,很多時候獲取的是ISP機(jī)房的位置,但是獲取非常方便,沒有什么限制。但是實(shí)際上我覺得在中國,ip地址還是比較準(zhǔn)確的,基本上上能精確到小區(qū)或大樓的標(biāo)準(zhǔn)。
2、HTML5中GPS定位操作
GPS定位非常準(zhǔn)確,但是需要在戶外,且需要很長時間搜索衛(wèi)星。但前提就是硬件設(shè)備要支持GPS。最主要的很多設(shè)備比如筆記本電腦基本都是不帶GPS的,新的智能手機(jī)purse hanger倒是都有。
3、WiFi基站的mac地址。
(猜測是連接位置已知的公共WiFi的時候,通過Mac地址識別WiFi接入點(diǎn),從而定位)
這種定位的精度還是很不錯的,而且還可以在室內(nèi)定位。不過由于這種位置公開的wifi比較少,此種方法的適用范圍比較少。
4、 GSM或CDMA基站
通過基站定位,精度隨基站密度變化,精度一般,還是只有手機(jī)能用??磥淼乩砦恢肁PI還是手機(jī)上比較有實(shí)用性。
5、用戶指定位置
暈,這個就不是HTML5的范疇了。
地理位置獲取流程步驟:
1、用戶打開需要獲取地理位置的web應(yīng)用。
2、應(yīng)用向?yàn)g覽器請求地理位置,瀏覽器彈出詢問窗口,詢問用戶是否共享地理位置。
3、假設(shè)用戶允許,瀏覽器從設(shè)別查詢相關(guān)信息。
4、瀏覽器將相關(guān)信息發(fā)送到一個信任的位置服務(wù)器,服務(wù)器返回具體的地理位置。
獲取手機(jī)設(shè)備的相關(guān)信息,如IMEI、IMSI、型號、廠商等。通過plus.device獲取設(shè)備信息管理對象。
獲取當(dāng)前運(yùn)行環(huán)境信息、與其它程序進(jìn)行通訊等。通過plus.runtime可獲取運(yùn)行環(huán)境管理對象。
直接上demo
注意:
獲取IP地址和plus.device.getInfo都是異步的,所以在使用的時候要注意時機(jī)
效果圖:
Android和IOS獲取imei、imsi、uuid時須知:
imei: (String 類型 )設(shè)備的國際移動設(shè)備身份碼
如果設(shè)備不支持或無法獲?。ㄈ缬脩粑词跈?quán))則返回空字符串。 如果設(shè)備存在多個身份碼,則以“,”字符分割拼接,如“862470039452950,862470039452943”。
平臺支持
imsi: (Array[ String ] 類型 )設(shè)備的國際移動用戶識別碼
字符串?dāng)?shù)組類型,獲取設(shè)備上插入SIM的國際移動設(shè)備身份碼。 如果設(shè)備支持多卡模式則返回所有SIM身份碼。 如果設(shè)備不支持或沒有插入SIM卡則返回空數(shù)組。
平臺支持
uuid: (String 類型 )設(shè)備標(biāo)識
設(shè)備的唯一標(biāo)識號。
平臺支持
其他的屬性和方法,參考html5plus官網(wǎng):
Github
個人博客
可以使用的。
HTML5 Geolocation(地理定位)用于定位用戶的位置。
HTML5 Geolocation API 用于獲得用戶的地理位置。
鑒于該特性可能侵犯用戶的隱私,除非用戶同意,否則用戶位置信息是不可用的。
瀏覽器支持
Internet Explorer 9、Firefox、Chrome、Safari 以及 Opera 支持地理定位。
注釋:對于擁有 GPS 的設(shè)備,比如 iPhone,地理定位更加精確。
實(shí)例
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
可以實(shí)現(xiàn)的,HTML5可以使用手機(jī)的GPS信息,利用百度等地圖的開放API就可以了。
HTML5中可以通過IP,WIFI信息,GPS,來實(shí)現(xiàn)地理定位,當(dāng)然相關(guān)精度也是有所不同,所以如果要精確導(dǎo)航就得使用GPS信息。
下面是一段HTML5結(jié)合百度地圖API來獲取位置的代碼:
div id="allmap"/div當(dāng)前定位地址:a id="du-gps"/aspan/span/div
script
var map = new BMap.Map("allmap");
var geolocation = new BMap.Geolocation();
geolocation.getCurrentPosition(function(r){
if(this.getStatus() == BMAP_STATUS_SUCCESS){
map.panTo(r.point);
//alert('您的位置:'+r.point.lng+','+r.point.lat);
var pt = r.point;
var geoc = new BMap.Geocoder();
geoc.getLocation(pt, function(rs){
var addComp = rs.addressComponents;
//alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber);
$("#du-gps").text(addComp.district+addComp.street+addComp.streetNumber);
});
}
else {
alert('failed'+this.getStatus());
}
},{enableHighAccuracy: true})
/script
HTML5中獲取地址可以使用 getCurrentPosition() 方法來獲得用戶的位置。
Internet Explorer 9、Firefox、Chrome、Safari 以及 Opera 支持地理定位。
下例是一個簡單的地理定位實(shí)例:
p?id="demo"點(diǎn)擊這個按鈕,獲得您的坐標(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中沒有的新特性。
1、獲取百度地理位置坐標(biāo),首先在搜索引擎中搜索。
2、搜索結(jié)果頁面如下,點(diǎn)擊第一個鏈接。
3、接著打開的界面如下,鼠標(biāo)放到自己要獲取的地理位置。
4、比如選擇的是地壇公園,如下圖紅色的區(qū)域,點(diǎn)擊地壇公園。
5、上面就會有它的經(jīng)緯度,直接點(diǎn)擊復(fù)制就可以了。