计算机网络/计算机科学与应用/系统/运维/开发

微信小程序添加腾讯出行服务

要在微信小程序中通过按钮跳转至腾讯出行服务并传递当前地址,请按照以下步骤操作:

1. 配置地理位置权限

在 app.json 中添加所需权限:

json

{

  "permission": {

    "scope.userLocation": {

      "desc": "需要获取您的位置以提供导航服务"

    }

  }

}

2. 添加按钮和事件处理

在WXML中添加按钮:

html

<button bindtap="openTransport">使用腾讯出行导航</button>

3. 获取位置并跳转

在JS文件中实现以下逻辑:

javascript

Page({

  openTransport() {

    // 获取经纬度

    wx.getLocation({

      type: 'gcj02',

      success: (res) => {

        this.openTencentTravel(res.latitude, res.longitude);

      },

      fail: (err) => {

        this.handleLocationError(err);

      }

    });

  },

  // 打开腾讯出行服务

  openTencentTravel(lat, lng) {

    wx.navigateToMiniProgram({

      appId: 'wx8abaf33ee3f60f23', // 腾讯出行服务官方AppID

      path: 'pages/index/index',

      extraData: {

        type: 'destination',

        lat: lat,

        lng: lng

      },

      success: () => console.log('跳转成功'),

      fail: (err) => console.error('跳转失败:', err)

    });

  },

  // 处理定位错误

  handleLocationError(err) {

    if (err.errMsg.includes('auth deny')) {

      wx.showModal({

        title: '权限不足',

        content: '请在设置中开启位置权限',

        showCancel: false

      });

    } else {

      wx.showToast({

        title: '定位失败',

        icon: 'none'

      });

    }

  }

})

4. 配置域名白名单

在微信公众平台配置request合法域名:

https://apis.map.qq.com

注意事项:

腾讯地图KEY:如果需要进行逆地理编码,需申请腾讯位置服务KEY并添加到请求参数中

调试准备:

确保已添加跳转白名单(如有需要)

在开发者工具中开启"不校验合法域名"进行测试

参数说明:

type: 'destination' 表示设置目的地

lat/lng 使用国测局坐标系(GCJ-02)

用户场景:

首次使用会弹出位置授权提示

建议在onLoad生命周期中提前获取位置

可添加loading状态提升用户体验

扩展功能建议:

javascript

// 添加loading状态

wx.showLoading({ title: '获取位置中' });

// 跳转前关闭loading

wx.hideLoading();

// 添加重试机制

if (retryCount < 3) {

  setTimeout(() => this.openTransport(), 1000);

  retryCount++;

}

以上方案直接传递经纬度参数,可确保腾讯出行服务准确定位。如需显示具体地址名称,需结合腾讯地图逆地理编码API进行坐标转换,具体实现可参考腾讯位置服务官方文档。


世间最珍贵的不是“得不到”和“已失去”,而是现在能把握的幸福。

评论

^