美文网首页
手机定位

手机定位

作者: 笨笨的小蜗牛_用生命奔跑 | 来源:发表于2017-12-22 17:15 被阅读0次

    参考链接:https://cnodejs.org/topic/564c0a27e4766d487f6fe38d

    今天总算解决了定位的问题,记录一下吧。要不然以后用到了又给忘了,之前用的高德地图定位的,死活都整出来,然后就换成百度了,但是后台用的是高德,百度和高德不属于一个坐标体系,需要进行转换,转换公式也是百度的,不过很有用,原文把PI写成了Pi,是作者的笔误吧,它是Math对象的属性,返回圆周率(约等于3.14159)。可以参考javascript菜鸟教程,里面有其他属性的介绍。下面是转换公式:

    定位的时候要用到城市的citycode,用百度地图没有找到这个属性,然后用的是高德(是不是很麻烦啊)用高德地图的一个getLocalCity()插件获取当前城市的citycode,代码如下:

    用百度获取当前位置的经纬度,,代码如下:

    //获取当前位置

    var geolocation = new BMap.Geolocation();//创建查询对象,

    geolocation.getCurrentPosition(function(r){

    if(this.getStatus() == BMAP_STATUS_SUCCESS){

    mk = new BMap.Marker(r.point);

    getAddress(r.point);

    }else {

    alert('failed'+this.getStatus());

    }

    });

    //获取地址信息,设置地址label

    function getAddress(point){

    var gc = new BMap.Geocoder();

    gc.getLocation(point, function(rs){

    var addComp = rs.addressComponents;

    var address =addComp.province +addComp.city +addComp.district +addComp.street +addComp.streetNumber;//获取地址

    var cityinfo = addComp.city;

    var flag = false;

    cityLat=bd_decrypt(point.lng,point.lat).gg_lat;

    cityLng=bd_decrypt(point.lng,point.lat).gg_lon;

    storage["cityLat"]=bd_decrypt(point.lng,point.lat).gg_lat;

    storage["cityLng"]=bd_decrypt(point.lng,point.lat).gg_lon;

    storage["regionName"]=cityinfo;

    $.each(cityMsg, function(index,item) {

    if (item.id==cityadcode) {

    flag = true;

    return ;

    }

    });

    if(flag){

    document.getElementById('vv').innerHTML =cityinfo;

    }else{

    document.getElementById('vv').innerHTML =cityMsg[0].name;

    cityadcode=cityMsg[0].id;

    }

    $('#vvcode').val(cityadcode)

    getbanner()

    getWeather();

    getOil();

    getactivitie();

    getcontents();

    getHotmerchants(pageNum)

    });

    }

    }

    今天又用了一个新东西,就是sessionStorage,它终于派上用场了,用法参考菜鸟教程

    这个sessionStorage解决的问题是,当我从新打开项目主页的时候,就会发起自动定位,因为它的存储时间是有限的,所以我在公共页面里面写了一个全局变量,只要项目在运行,它的值就会一直在变,当项目关闭之后,它的值就会从新开始计算,所以我在首页做个判断,只要值为1,定位就重新定位,存储的城市code就会重新刷新。

    相关文章

      网友评论

          本文标题:手机定位

          本文链接:https://www.haomeiwen.com/subject/yxctgxtx.html