浅谈小程序地图中经纬度和地址的相互转换

15 篇文章 0 订阅
1 篇文章 0 订阅

微信小程序中我们可以使用wx.getLocation来获取当前的地理位置,但是把用户输入的地址转换为经纬度地址然后定位是小程序原生没有提供的,比如用户输入的地址需要定位然后导航过去的。
首先我们需要引入腾讯地图在微信小程序js SDK “qqmap-wx-jssdk.js” 文件可以下载引用,也可以使用npm安装
具体请参照这里:https://lbs.qq.com/qqmap_wx_jssdk/index.html
地址解析(根据地址获取经纬度):

var QQMapWX = require('../js/qqmap-wx-jssdk.js');   
OR
var QQMapWX = require('qqmap-wx-jssdk')

qqmapsdk = new QQMapWX({
    key: '申请的key'                      //必需,自己申请
})

 // geoCoder 根据地址获取经纬度
 qqmapsdk.geocoder({
   address: “xxx地址”                      //需要转换为经纬度的地址
   success: function (res) {               //返回的数据里面有该地址的经纬度
     console.log("qqmapsdk.geocoder 接口调用成功返回的回调", res)
     let location = res.result.location    //经纬度对象
     // 使用微信内置地图查看位置
     wx.openLocation({ 
       type: 'gcj02',                      // 返回可以用于wx.openLocation的经纬度 
       latitude: location.lat,
       longitude: location.lng,
       scale: 18
     })
   },
   fail: function (res) {
     console.log("qqmapsdk.geocoder 接口调用失败返回的回调")
   },
   complete: function (res) {
     // console.log(“complete”); 
   }
 });

(逆地址解析)根据经纬度获取地址:

// 如果需要当前地址可使用getLocation获取坐标转换,也可以传入所需要解析的坐标
var qqmapsdk= new QQMapWX({
  key: “自己申请的key”         // 必填
});
qqmapsdk.reverseGeocoder({
     location: {
       latitude: res.latitude,
       longitude: res.longitude
     },
     success: function (res) {
       console.log("reverseGeocoder  res地址结果对象", res.result)
     },

     fail: function (res) {
       console.log("获取地址失败", failres);
     },

     complete: function (completeres) {

     }
  });

就酱紫~~
详情参照https://lbs.qq.com/qqmap_wx_jssdk/index.html, 腾讯LBS服务还提供了地点搜索,路线规划,距离计算等简洁使用方便的功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kirinlau

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值