H5地理位置信息

地理信息

  1. 定位用户的位置,使用HTML5 Geolocation API用于获得用户的位置
  2. 但是必须要获取用户的同意,否则不行
  3. 主要使用navigator.geolocation.getCurrentPosition(success, error, options)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(function(position) {
            const {longitude,latitude,accuracy,altitude,altitudeAccuracy,heading,speed} = position.coords
            // 参数分析
            // longitude 经度
            // latitude 纬度
            // accuracy 准确度
            // altitude 海拔
            // altitudeAccuracy 海拔准确度
            // heading 行进方向
            // speed 地面速度
            // position.timestamp 请求的时间
            console.log(position)
        }, function (error) {
            // error.code
            // 0: 不包括其它错误编号中的错误
            // 1: 用户拒绝获取位置信息
            // 2: 尝试获取用户信息,但是失败了
            // 3: 设置了timeout,获取位置超时了
            alert(error.message)
        }, {
            enableHighAccuracy: false, // 位置是否精确获取
            timeout: 8000, // 获取位置允许的最长时间,默认为infinity
            maximumAge: 1000 // 多久更新获取一次位置,位置可以缓存的最大时间,默认为0
        })
    } else {
        alert("你的浏览器不支持Geolocation,建议升级")
    }
</script>
</body>
</html>

重复性位置更新请求

  1. navigator.geolocaton.watchPosition(请求成功,请求失败,数据收集方式)
  2. 这个只会在移动设备上有用,位置改变才会触发
  3. 配置参数:frequency更新的频率
  4. 使用clearWatch关闭更新请求

百度地图api:http://lbsyun.baidu.com/

高德地图api:http://lbs.amap.com/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值