使用HTML5 获取位置

1.   使用navigator.Geolocation对象

    首先判断是否支持

    if(navigator.Geolocation){

      alert("支持位置对象")

    } else {

   alert("不支持")

   }

2.  Geolocation API存在于navigator对象中,

只包含3个方法:

1getCurrentPosition   //当前位置

2watchPosition          //监视位置

3clearWatch              //清除监视

getCurrentPosition(success,error,option)方法最多可以有三个参数:

第一个参数是成功获取位置信息的回调函数,它是方法唯一必须的参数;

第二个参数用于捕获获取位置信息出错的情况,

第三个参数是配置项。

[例子]

navigator.geolocation.getCurrentPosition( function(p) {

    var map="维度"+p.coords.latitude+"经度"+p.coords.longitude;

    alert(var);

    });

其他属性:

p.address.country   

p.address. region

p.address.city

p.coords.accuracy 准确角

p.coords.altitude 海拔高度

p.coords.altitudeAcuracy海拔高度的精确度

p.coords.heading 行进方向

p.coords.speed 地面的速度

出错处理

navigator.geolocation.getCurrentPosition( , function(error){

switch(error.code){  

        case error.TIMEOUT :  

            alert( " 连接超时,请重试 " );  

            break;  

        case error.PERMISSION_DENIED :  

            alert( " 您拒绝了使用位置共享服务,查询已取消 " );  

            break;  

        case error.POSITION_UNAVAILABLE :   

            alert( " ,抱歉,暂时无法为您所在的星球提供位置服务 " );  

            break;  

    }  

});

参数设置:

navigator.geolocation.getCurrentPosition( , … , option);

option配置项,第三个参数是一个对象,该对象影响了获取位置时的一些细节。 

enableHighAccuracy ,它将告诉浏览器是否启用高精度设备,所谓的高精度设备包含但不局限于前面所提到的GPSWIFI,值为 true 的时候,浏览器会尝试启用这些设备,默认指为 true。 

  timeout,超时,获取位置信息时超出设定的这个时长,将会触发错误,捕获错误的函数将被调用,并且错误码指向TIMEOUT。 
这样我们尝试修改调用
getCurrentPosition 时传递的参数 


 3.  watchPosition像一个追踪器与clearWatch成对。

watchPositionclearWatch有点像setIntervalclearInterval的工作方式。

var watchPositionId = navigator.geolocation.watchPosition(success_callback, error_callback, options);

navigator.geolocation.clearWatch(watchPositionId );



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值