web前端-在迷惘中的探索HTML5(一)定位及地图

在HTML5的新标准中,有了用于地图的使用地理位置定位的api,其由geolocation 对象来进行担任相关的使用。

一、简介

首先简单的介绍一下官方对于geolocation 对象的介绍:

geolocation 对象:地理位置 API,通过接口可以使用javascript定位当前用户所在位置,其是window对象中浏览器对象的内置对象(即由navigator.geolocation提供)。其允许用户向 Web 应用程序提供他们的位置。同时出于隐私考虑,报告地理位置前会先请求用户许可。如果该对象存在,那么地理位置服务可用。

下面附上用于判断兼容使用的JS和兼容浏览器:


if ("geolocation" in navigator) {
   

  /* 地理位置服务可用 */

}else{
   

  /* 地理位置服务不可用 */

}

二、使用:

geolocation 对象封装了获取当前用户所在位置的方法和属性,我们可以通过这些方法和属性进行我们需要的操作

(1)获取geolocation 对象方式:
window.navigator.geolocation;

如果不兼容获取的对象为null;

(2)获取当前定位:

可以调用getCurrentPosition()函数获取用户当前定位位置。这会异步地请求获取用户位置,并查询定位硬件来获取最新信息。

语法:navigator.geolocation.getCurrentPosition(success,error,options)

参数:
success:成功得到位置信息时的回调函数,使用Position对象作为唯一的参数。
error:可选,获取位置信息失败时的回调函数,使用PositionError对象作为唯一的参数,这是一个可选项。
options:可选,一个可选的PositionOptions对象。

当定位被确定后,定义的回调函数success就会被执行。第二个回调函数error,当有错误时会被执行。第三个参数options也是可选的,您可以通过该对象参数设定最长可接受的定位返回时间、等待请求的时间和是否获取高精度定位。

window.navigator.geolocation.getCurrentPosition(function (position) {
   
    do_something(position.coords.latitude,position.coords.longitude); // 自定义的一个函数do_something
});

上述示例中,当获取位置后do_something()函数会被执行。

关于失败的回调函数其是以PositionError为第一个参数。

functionerrorCallback (error) {
   

	alert('ERROR('+error.code+'): '+error.message);

};

注:目前谷歌提供的js的api无法访问。

(3)监视定位:

可以设定一个回调函数来响应定位数据发生的变更(设备发生了移动,或获取到了更高精度的地理位置信息),通过watchPosition()函数实现该功能(即Geolocation.watchPosition()用于注册监听器,在设备的地理位置发生改变的时候自动被调用)。它与getCurrentPosition()接受相同的参数,但回调函数会被

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值