HTML地理定位

8 篇文章 0 订阅

以上几篇博客是不是大家都感觉有些太正式性? 显得有些乏味? 接下来给大家介绍一个有趣的功能。

h5之前我们的网页可以提供定位服务吗? 答案无疑是否定的。那么现在h5给我们提供了这项服务,大家心里是不是有些小窃喜呢?

了解定位之前我们先思考一下我们能够利用定位做些什么呢? 地图、导航、外卖等等一些列便利服务。

          Geolocation:地理定位 允许对我们喜欢的网站分享我们的位置信息
在开发中使用js获取我们当前位置的坐标(经纬度)。
Geolocation是基于navigator的一个新属性,我们创建一个地理定位的方式
navigator.geolocation.getCurrentPosition  //创建地理定位


getCurrentPosition()是基于地理定位的一个方法,他可以让我们获取到我们当前的位置坐标
<script>
    window.onload = getLocation;
    function getLocation(){
        var locationEle = document.getElementById("p1");
        if(navigator.geolocation){
            navigator.geolocation.getCurrentPosition(function(position){
                var log = position.coords.longitude;//获取经度
                var lat = position.coords.latitude;//获取经度
                locationEle.innerHTML = "精度"+log+"纬度"+lat;
            })
        }else{
            locationEle.innerHTML = "该浏览器不支持定位服务"
        }
    };
</script>


注意:
1.locaition是关键字,不建议在声明变量的时候使用。
2.当没有设置点击事件的时候,要页面加载的时候就调用
出现的问题:获取到的坐标与实际有偏差,原因:系统用的是火星坐标
火星坐标:对真实坐标系统进行人为的加偏处理,按照特殊的算法,将真实的坐标加密成虚假的坐标,而这个加偏并不是线性的加偏
火星坐标系统:
解决方案:
1.通过正规地图公司(如:高德地图JSAPI和百度地图JSAPI),我们可以申请key值ak
通过这些网站的秘钥转换,通过秘钥进行解析,从而可以获取到真正的坐标值,无偏移。
注意:高德地图提供的key值获取到的实际坐标,用百度地图坐标反差会有偏差,反之,亦然。所以,我们在以后开发的时候,使用那个地图公司的key值,就用那个地图。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值