HTML5-地理定位


HTML5 geolocation API(地理定位)允许对我们喜欢的网站分享我们的位置信息。在开发中使用js获取我们的当前位置坐标(经纬度)。


Geolocation 是基于navigator的一个新属性,我们创建一个地理定位的方式。 Var getlocation = navigator.geolocation

getCurrentPosition()是基于地理定位的一个方法,他可以让我们获取到我们当前的位置坐标。

window.onload = getlocation;
function getlocation(){
    var location = document.getElementById("p1");
     if(navigator.geolocation){
        navigator.geolocation.getCurrentPosition(function(position){
            varlog = position.coords.longitude;//获取经度
           
var lat = position.coords.latitude;//获取纬度
           
location.innerHTML = "经度"+log+"纬度"+lat;
        });
     }else{
         location.innerHTML = "该浏览器不支持地理定位";
     }
}

注意:

1.location是一个关键字,起变量时不要用

2.当没有设置点击事件的时候,要页面加载就要调用函数。

出现的问题:获取到的坐标与实际位置有偏差,原因就是:系统使用是火星坐标。

火星坐标:是一种国家保密插件,也叫做加密插件或者加偏或者SM模组,其实就是对真实坐标系统进行人为的加偏处理,按照特殊的算法,将真实的坐标加密成虚假的坐标,而这个加偏并不是线性的加偏,所以各地的偏移情况都会有所不同。而加密后的坐标也常被人称为火星坐标系统。

怎么解决获取的火星问题?

通过正规地图公司(如:高德地图JS API、百度地图JS API)我们可以申请key值,通过这些网站提供的密钥进行解析,从而可以获取到真正的坐标值(无偏移)。

注意:高德地图提供key值获取到的实际坐标,用百度地图坐标反查会有偏移。反过来也一样,所以,我们以后开发的时候使用哪个地图公司的key,就用哪个地图公司的地图

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值