相思资源网 Design By www.200059.com
分享下微信是如何定位的:
本文主要讲解如何利用微信定位,如何将定位到的经纬度转换为百度地图对应的经纬度,以及处理定位失败、取消及错误时的默认做法。
//获取地理位置信息start //封装成一个函数 function getPosition() { //用ajax请求 $.ajax({ url: "/wechat/jssdk",//请求地址 type: 'post',//post请求 dataType: 'json', contentType: "application/x-www-form-urlencoded; charset=utf-8", data: { 'url': location.href.split('#')[0]//将第一个#号前的地址传递 }, //请求成功的函数 success: function (data) { wx.config({ // debug: true, appId: data.data.appId, timestamp: data.data.timestamp, nonceStr: data.data.nonceStr, signature: data.data.signature, jsApiList: ['checkJsApi', 'getLocation'] }); wx.ready(function () { wx.getLocation({ //获得定位成功 success: function (res) { //这是微信返回的真正经纬度 var oldLat = res.latitude; // 纬度,浮点数,范围为90 ~ -90 var oldLng = res.longitude; // 经度,浮点数,范围为180 ~ -180。 /*下面是为了将获得的真正经纬度转换为对应的百度经纬度,因为是利用百度地图的经纬度去查询数据的,数据库中存的也是百度的经纬度*/ //创建一个百度地图的点 var customerPoint = new BMap.Point(oldLng, oldLat); // var convertor = new BMap.Convertor(); var pointArr = [];//创建一个数组 pointArr.push(customerPoint);//将刚才的点放进去 convertor.translate(pointArr, 1, 5, initMap); //转换坐标 function initMap(data) { if (data.status === 0) {//转换成功 var point = data.points[0];//得到后的点 var lng = point.lng;//获得转换后的经度 var lat = point.lat;//获得转换后的纬度 toDoFunction(lng, lat);//将经纬度传入到要运用的函数中 } else { //下面两行是默认定位到西湖的经纬度 lng = 120.141375; lat = 30.257806; toDoFunction(lng, lat);//将经纬度传入到要运用的函数中 } } }, //取消定位 cancel: function () { //下面两行是默认定位到西湖的经纬度 var lng = 120.141375; var lat = 30.257806; toDoFunction(lng, lat);//将经纬度传入到要运用的函数中 }, //定位失败 fail: function () { //下面两行是默认定位到西湖的经纬度 var lng = 120.141375; var lat = 30.257806; toDoFunction(lng, lat);//将经纬度传入到要运用的函数中 } }); //定位发生错误 wx.error(function () { //下面两行是默认定位到西湖的经纬度 var lng = 120.141375; var lat = 30.257806; toDoFunction(lng, lat);//将经纬度传入到要运用的函数中 }); }); } }); }
以上代码,如果可以定位到就用定位到的真正的经纬度,再转换成百度地图对应的经纬度,如果定位失败或者是点击取消或者发生错误,则默认定位到西湖的经纬度。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
相思资源网 Design By www.200059.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
相思资源网 Design By www.200059.com
暂无JavaScript微信定位功能实现方法的评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。