微信小程序调用地图设置起点终点导航

本文主要讲一下如何使用微信内置地图设置起点终点并导航

传送门:微信小程序API~位置信息

准备工作:在app.json文件中配置可获得当前位置的许可

  "permission": {
    "scope.userLocation": {
      "desc": "你的位置信息将用于小程序位置接口的效果展示" 
    }
  },

第一步:获取起点的位置(设备所在的位置)

wx.getLocation({
 //这里的type有两种类型,详情请点击最上方的传送门查看
 type: 'gcj02',
   success :(res)=> {
   //获取当前经纬度
   const latitude = res.latitude
   const longitude = res.longitude
   //获取当前速度
   const speed = res.speed
   //位置的精确度
   const accuracy = res.accuracy
 }
})

注意,在代码的编写过程中,一定要使用箭头函数
微信小程序的api中并没有使用箭头函数,但经过我的多次使用,发现使用箭头函数更加省心,不会因为某些特定原因使程序出错,所以之后的代码我都会使用箭头函数
第二步:在wx.getLocation的回调函数success中使用wx.openLocation

wx.getLocation({
      type: 'gcj02',//参数类型,让获取的数据可以被getLocation函数使用
      success :(res)=> {
        //这里是起点信息
        const latitude = res.latitude 
        const longitude = res.longitude
        const speed = res.speed
        const accuracy = res.verticalAccuracy
        //这是从终点的经纬度,将他传给wx.openLocation的参数中
        const endlat = Number(this.data.latitude)
        const endlon = Number(this.data.longitude)
        wx.openLocation({
          //这里的两个参数决定了终点在哪
          latitude: endlat,
          longitude: endlon,
          scale: 18
        })
      }
     })

这里有个大坑,传参数的时候,一定要传Number类型的参数,不然会报错,这里是将终点的经纬度转成Number类型的方法

	const endlat = Number(this.data.latitude)
    const endlon = Number(this.data.longitude)
### 集成高德地图API至微信小程序 #### 准备工作 为了在微信小程序中集成和使用高德地图API,需完成如下准备工作: - 成为高德开放平台的注册开发者,并申请获得开发者密钥(Key),这是访问API所必需的身份验证凭证[^2]。 - 小程序开发者应在后台设置中的开发管理部分配置服务器域名,确保添加了高德地图API所需的合法请求域名到白名单内。这一步骤对于保障安全性和合法性至关重要[^1]。 #### 下载与引入SDK 下载适用于微信小程序环境下的高德地图SDK并将其解压缩后放置于项目合适位置;接着,在项目的`app.json`文件里声明该插件以便后续调用其功能函数。 #### 实现定位服务 下面是一个简单的例子展示如何利用高德地图API来获取用户的当前位置信息: ```javascript const app = getApp(); const AMapWX = require('./libs/amap-wx.js'); Page({ data: { address: '' }, getLocation() { let myAmapFun = new AMapWX({ key: 'your_amap_key' }); myAmapFun.getRegeo({ success: (data) => { if(data[0]) { this.setData({ address: data[0].regeocodeData.formatted_address || '' }); } }, fail: function(info){ console.error('失败', info); } }) } }) ``` 此代码片段展示了当用户点击按钮触发事件处理器时,会向高德地图发起地理编码逆解析请求以取得详细的地理位置描述,并更新页面上的显示内容[^4]。 #### 构建导航界面 创建一个用于启动路径规划的服务接口,允许输入起点终点坐标参数从而返回推荐路线方案给前端渲染呈现出来。具体实现方式取决于业务逻辑需求以及UI设计考量因素。 #### 处理跨域问题 如果遇到因未被列入合法域名而导致无法正常发送HTTP请求的情况,则应当按照官方指引调整相应的小程序配置项,保证目标URL处于许可范围内[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

纳萨斯瓦德

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

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

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

打赏作者

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

抵扣说明:

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

余额充值