我们一般的小程序定位是通过官方小程序的方法进行定位,然后通过百度api进行通过坐标获取当前位置的详细信息
wx.getLocation(OBJECT)获取当前的地理位置、速度。当用户离开小程序后,此接口无法调用;当用户点击“显示在聊天顶部”时,此接口可继续调用wx.getLocation({type:'wgs84',success:function(res){varlatitude=res.latitudevarlongitude=res.longitudevarspeed=res.speedvaraccuracy=res.accuracy}})微信小程序官方文档有介绍:文档地址
这样获取到的定位不是很准确,这样的原因是转百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间没有进行互转.
当前互联网地图的坐标系现状地球坐标(WGS84)国际标准,从专业GPS设备中取出的数据的坐标系国际地图提供商使用的坐标系火星坐标(GCJ-02)也叫国测局坐标系中国标准,从国行移动设备中定位获取的坐标数据使用这个坐标系国家规定:国内出版的各种地图系统(包括电子形式),必须至少采用GCJ-02对地理位置进行首次加密。百度坐标(BD-09)百度标准,百度SDK,百度地图,Geocoding使用(本来就乱了,百度又在火星坐标上来个二次加密)开发过程需要注意的事从设备获取经纬度(GPS)坐标如果使用的是百度sdk那么可以获得百度坐标(bd09)或者火星坐标(GCJ02),默认是bd09如果使用的是ios的原生定位库,那么获得的坐标是WGS84如果使用的是高德sdk,那么获取的坐标是GCJ02互联网在线地图使用的坐标系火星坐标系:iOS地图(其实是高德)Gogole地图搜搜、阿里云、高德地图百度坐标系:当然只有百度地图WGS84坐标系:国际标准,谷歌国外地图、osm地图等国外的地图一般都是这个
不过这些都可以通过进行转化
浏览器中进行使用方法:引入需要的js------coordtransformnpm地址:浏览器端的具体用法://首先引入需要用到的js://国测局坐标(火星坐标,比如高德地图在用),百度坐标,wgs84坐标(谷歌国外以及绝大部分国外在线地图使用的坐标)//百度经纬度坐标转国测局坐标varbd09togcj02=coordtransform.bd09togcj02(116.404,39.915);//国测局坐标转百度经纬度坐标vargcj02tobd09=coordtransform.gcj02tobd09(116.404,39.915);//wgs84转国测局坐标varwgs84togcj02=coordtransform.wgs84togcj02(116.404,39.915);//国测局坐标转wgs84坐标vargcj02towgs84=coordtransform.gcj02towgs84(116.404,39.915);console.log(bd09togcj02);console.log(gcj02tobd09);console.log(wgs84togcj02);console.log(gcj02towgs84);//result//bd09togcj02:[116.39762729119315,39.90865673957631]//gcj02tobd09:[116.41036949371029,39.92133699351021]//wgs84togcj02:[116.41024449916938,39.91640428150164]//gcj02towgs84:[116.39775550083061,39.91359571849836]
小程序端的具体用法:
//此处的js可以通过下方的github链接进行下载varzhuan_dingwei=require('../../libs/dingwei.js');//获取应用实例constapp=getApp()Page({data:{//默认未获取地址hasLocation:false,info:'',longitude:'',latitude:''},getlocal_dingweui:function(e){varthat=this;wx.getLocation({type:'wgs84',success:function(res){that.setData({longitude:res.longitude,latitude:res.latitude})console.log(that.data.longitude)console.log(that.data.latitude)//进行地理位置坐标的转化vargcj02tobd09=zhuan_dingwei.wgs84togcj02(that.data.longitude,that.data.latitude);console.log(gcj02tobd09);that.setData({longitude:gcj02tobd09[0],latitude:gcj02tobd09[1]})console.log('-------')that.get_baidu_dingwei()}})},onLoad:function(){this.getlocal_dingweui();},get_baidu_dingwei:function(){console.log('-----------')varthat=this;console.log(that.data.longitude)console.log(that.data.latitude)//通过后台进行转化当前地理位置的详细情况wx.request({url:'https://baoxian.grwlkj.com/home/index/get_user_city',method:'get',data:{longitude:that.data.longitude,latitude:that.data.latitude},success(res){console.log("res",res)varinfo=res.data.datathat.setData({info:info,})}})},onShow:function(){//调用接口}})github下载地址:
最新资讯
-

小程序制作平台选型踩坑记录:2026年五大主流方案横向对比
2026 年微信小程序月活达 10.7 亿、覆盖 108 个行业,本次横向对比即速应用、乔拓云、凡科、有赞、微盟五大主流平台,分三阶段给出选型结论,核心聚焦成本、扩展性、运营能力三大维度。 -

即速应用,赋能企业玩转微信小程序智慧经营
作为国内领军的智慧商业经营服务商,即速应用始终秉承“让每个企业都拥有自己的智慧店铺”的愿景,持续赋能更多企业玩转智慧经营。即速应用旗下拥有“小程序搭建工具-即速应用”、“私域流量专家-即客云”等产品,帮助商家打通互联网全生态营销闭环。 -

即客云2.0重磅更新,让微信小程序运营更简单!
即客云作为一款基于企业微信的第三方工具,现从多维度提供超过30种功能,自上线以来,已服务多家企业,受到一致好评。近期,我们根据客户反馈和市场调研正式推出升级版 即客云2.0!更新了私域运营SOP,群日历功能,批量拓客,客户雷达,消息推送,个人欢迎语,帮助企业更好运用企业微信;同时提升了社群运营工作标准化,提升运营效率,帮助企业实现客户增长,玩转私域流量。










