获取地理位置
一、定位原理
IP地址、GPS、wifi、GSM/CDMA
1、PC端定位的方式:是通过IP地址、wifi来进行定位。
2、导航:通过GPS来位置定位
3、手机定位:通过GSM、CDMA、3G
二、geolocation属性和方法
1、 getCurrentPosition(获取成功调用的参数返回的是一个对象的信息, 获取失败调用的参数, 选项设置对象):获取当前地理信息
2、 wacthPosition():监视当前地理位置
3、 clearWacth():清除当前地理信息
getCurrentPosition属性:
error对象:
1、code属性:返回1(用户拒绝了位置服务)2(获取不到位置信息)3(获取信息超时错误);
2、message属性:为一个字符串,包含错误信息
第三个参数可选参数:
1、enableHeghAccuracy:是否要求高精度的地理位置信息
2、timeout:对地理位置信息的获取操作一个超时限制
3、maximumAge:对地理位置信息进行缓存的有效时间
1 navigator.geolocation.getCurrentPosition( 2 function(position){ 3 // 获取地理位置信息成功时所处理 4 }, 5 function(error){ 6 // 获取地理位置信息失败时所做处理 7 }, 8 { 9 // 设置缓存有效时间为2分钟 10 maximumAge : 60*1000*2, 11 // 5秒内未获取到地理位置则返回错误 12 timeout : 5000 13 } 14 )
三、position对象
获取地理位置成功,可以在获取成功后回调函数的参数访问position对象来得到这些地理位置
position属性
1、latitude:当前地理位置的纬度
2、longitude:当前地理位置的经度
3、altitude:海拔高度,不能获取时为null
4、accuracy:获取纬度或经度的精度,以米为单位
5、altitudeAccurancy:获取海拔高度的精度(以米为单位)
6、heading:设备的前进方向,
7、speed:设备的前进速度,以米/秒为单位
8、timestamp:获取地理位置信息的时间