HTML5地理位置定位 lbs

本文介绍了HTML5的地理位置定位(Geolocation)特性,包括GPS、WIFI、IP和手机基站定位的原理,以及获取地理位置的流程。通过geolocation对象的getCurrentPosition方法获取用户位置,结合地图API实现地图标注和位置服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

地理位置定位(Geolocation)

一、介绍

地理位置(Geolocation)是HTML5 的重要特性之一,提供了确定用户位置的功能,借助这个特性能够开发基于位置信息的应用,使得开发人员不用借助其他软件就能轻松实现位置查找,地图应用,导航等功能,具有划时代的意义!

 

二、浏览器支持情况

 


三、定位基本原理

   

1.GPS定位

GPS基本原理是测量出已知位置的卫星到用户接收机之间的距离,然后综合多颗卫星的数据就可知道接收机的具体位置。适用于具备GPS功能的设备。

优点:在空旷地区比较准确,覆盖面比较广

缺点:需要比较长时间定位,比较耗电池,在室内不太好,需要GPS设备支持。

 

2.WIFI定位

    地理定位服务提供者会在全世界范围内去收集WIFI热点的位置信息,然后用户的设备只要能支持WIFI就能获取到周围WIFI热点的位置和信号强弱信息,然后把这些信息发给服务提供者就能得到自己的位置。

优点:比较准确,适用于室内环境,响应速度快

缺点:在wifi热点少的地方不适用

 

3.IP定位

原理很简单,就是通过你设备的物理地址所备案的地址信息来定位,但这种方式精确度不高,特别是用代理来上网的情况下。一般作为GPS和WIFI都不支持的情况下大致模糊匹配,比如各大团购网站检测用户所在城市。

 

4.手机基站定位(GSM/CDMA)

和WIFI原理类似,Apple的设备就是把WIFI和基站信息结合起来进行定位。

 

 

四、地理位置获取流程

1、用户打开需要获取地理位置的web应用。

2、应用向浏览器请求地理位置,浏览器弹出询问,询问用户是否共享地理位置。

3、假设用户允许或浏览器默认允许,浏览器从设备查询相关信息。

4、浏览器将相关信息发送到一个信任的位置服务器,服务器返回具体的地理位置。

 

五、核心实现

实现基于浏览器(无需后端支持)获取用户的地理位置技术,可以精确定位用户的地理位置(精度最高达10m之内,依赖设备),并且可以持续追踪用户的地理位置,还可以与GoogleMap、BaiduMap交互实现地理位置信息的可视化呈现。

 

   1.geolocation对象以及getCurrentLocation()方法

在支持HTML5的浏览器中,为JavaScript中window对象的navigator对象增加了一个对象属性即geolocation对象。该对象提供了实现地理位置定位的接口,其实就是将用户当前位置发送给一些位置服务提供商的服务器,从而获取位置信息。要使用该功能就首先要判断浏览器是否支持该对象,即访问window.navigator.geolocation如果不是undefined则表示浏览器支持定位,也可以省略window。

例如:

alert(navigator.geolocation);   //结果为[object Geolocation],就表示该浏览器支持HTML5的定位

 

geolocation对象提供了getCurrentPosition(success,error,options)方法用来获取当前用户的位置信息,该方法就会让浏览器去从一些位置服务提供商哪里获取当前的位置。success是获取成功后的回调函数,error是获取失败的回调函数,options是一个对象表示为该方法传递的一些设置参数,例如延时获取等。其中获取成功后会将一个参数传递给回调函数,通过该函数就可以得到定位的一些信息了,例如经纬度等。

 

2.success回调函数

例如获取当前的经纬度:

function success(position){

      /*position就是定位成功后包含位置信息的对象*/

      var latitude=position.coords.latitude

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值