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、上面就会有它的经纬度,直接点击复制就可以了。