HTML5怎樣獲取地理信息,如html5怎樣獲取ip地址,怎樣實現gps導航定位,wifi基站的mac地址服務等,這些在HTML5中已經都已經有API實現了,用戶可以輕松使用html5技術進行操作,下面詳細為大家介紹HTML5操作地理信息。
成都做網站、網站建設,成都做網站公司-創新互聯已向超過千家企業提供了,網站設計,網站制作,網絡營銷等服務!設計與技術結合,多年網站推廣經驗,合理的價格為您打造企業品質網站。
1、HTML5中ip地址
其實在中國IP地址還是比較準確,書上說不準確,很多時候獲取的是ISP機房的位置,但是獲取非常方便,沒有什么限制。但是實際上我覺得在中國,ip地址還是比較準確的,基本上上能精確到小區或大樓的標準。
2、HTML5中GPS定位操作
GPS定位非常準確,但是需要在戶外,且需要很長時間搜索衛星。但前提就是硬件設備要支持GPS。最主要的很多設備比如筆記本電腦基本都是不帶GPS的,新的智能手機purse hanger倒是都有。
3、WiFi基站的mac地址。
(猜測是連接位置已知的公共WiFi的時候,通過Mac地址識別WiFi接入點,從而定位)
這種定位的精度還是很不錯的,而且還可以在室內定位。不過由于這種位置公開的wifi比較少,此種方法的適用范圍比較少。
4、 GSM或CDMA基站
通過基站定位,精度隨基站密度變化,精度一般,還是只有手機能用。看來地理位置API還是手機上比較有實用性。
5、用戶指定位置
暈,這個就不是HTML5的范疇了。
地理位置獲取流程步驟:
1、用戶打開需要獲取地理位置的web應用。
2、應用向瀏覽器請求地理位置,瀏覽器彈出詢問窗口,詢問用戶是否共享地理位置。
3、假設用戶允許,瀏覽器從設別查詢相關信息。
4、瀏覽器將相關信息發送到一個信任的位置服務器,服務器返回具體的地理位置。
獲取手機設備的相關信息,如IMEI、IMSI、型號、廠商等。通過plus.device獲取設備信息管理對象。
獲取當前運行環境信息、與其它程序進行通訊等。通過plus.runtime可獲取運行環境管理對象。
直接上demo
注意:
獲取IP地址和plus.device.getInfo都是異步的,所以在使用的時候要注意時機
效果圖:
Android和IOS獲取imei、imsi、uuid時須知:
imei: (String 類型 )設備的國際移動設備身份碼
如果設備不支持或無法獲取(如用戶未授權)則返回空字符串。 如果設備存在多個身份碼,則以“,”字符分割拼接,如“862470039452950,862470039452943”。
平臺支持
imsi: (Array[ String ] 類型 )設備的國際移動用戶識別碼
字符串數組類型,獲取設備上插入SIM的國際移動設備身份碼。 如果設備支持多卡模式則返回所有SIM身份碼。 如果設備不支持或沒有插入SIM卡則返回空數組。
平臺支持
uuid: (String 類型 )設備標識
設備的唯一標識號。
平臺支持
其他的屬性和方法,參考html5plus官網:
Github
個人博客
可以使用的。
HTML5 Geolocation(地理定位)用于定位用戶的位置。
HTML5 Geolocation API 用于獲得用戶的地理位置。
鑒于該特性可能侵犯用戶的隱私,除非用戶同意,否則用戶位置信息是不可用的。
瀏覽器支持
Internet Explorer 9、Firefox、Chrome、Safari 以及 Opera 支持地理定位。
注釋:對于擁有 GPS 的設備,比如 iPhone,地理定位更加精確。
實例
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可以使用手機的GPS信息,利用百度等地圖的開放API就可以了。
HTML5中可以通過IP,WIFI信息,GPS,來實現地理定位,當然相關精度也是有所不同,所以如果要精確導航就得使用GPS信息。
下面是一段HTML5結合百度地圖API來獲取位置的代碼:
div id="allmap"/div當前定位地址: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 支持地理定位。
下例是一個簡單的地理定位實例:
p?id="demo"點擊這個按鈕,獲得您的坐標:/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。有許多現在版本HTML中沒有的新特性。
1、獲取百度地理位置坐標,首先在搜索引擎中搜索。
2、搜索結果頁面如下,點擊第一個鏈接。
3、接著打開的界面如下,鼠標放到自己要獲取的地理位置。
4、比如選擇的是地壇公園,如下圖紅色的區域,點擊地壇公園。
5、上面就會有它的經緯度,直接點擊復制就可以了。