codecamp

微信小程序 消息·位置消息

位置消息

微信客户端 7.0.9 及以上版本支持,iOS 暂不支持

为了让用户更便 捷地使用小程序的打车服务,我们在位置消息详情页的菜单中,新增了打车小程序入口。

  1. 打开聊天中的位置消息,点击详情页右下角绿色按钮,菜单中会展示符合条件的打车小程序,用户可以直接发起目的地为该位置的打车服务。
  2. 小程序的注册类目为“打车(网约车)”,且有用户最近使用的记录,才可以出现在该菜单中。
  3. 在此处点击打开小程序后,需要直接进入到发起打车页面。

1. 位置消息入口声明

开发者需要在全局配置app.json声明支持从位置消息入口进入小程序。

配置示例:

"entranceDeclare": {
    "locationMessage": {
        "path": "pages/index/index",
        "query": "foo=bar"
    }
}

配置项

属性 类型 必填 描述 最低版本
entranceDeclare Object 入口声明信息 7.0.9

entranceDeclare参数列表

属性 类型 必填 描述 最低版本
locationMessage Object 声明“位置消息”场景进入小程序的启动页面 7.0.9

locationMessage参数列表

属性 类型 必填 描述 最低版本
path string 启动页路径,必须是在pages中已经定义 7.0.9
query string 启动页参数 7.0.9

2. 从启动参数获取位置信息

示例代码:

//app.js
App({
  onLaunch: function (options){
    console.log(options)
    var scene = options.scene 
    if (scene == 1146) { // 位置消息场景值
      var location = options.locationInfo
      var x = location.latitude
      var y = location.longitude
      var name = location.name
    }
  },
})

Object 启动参数

属性 类型 描述
scene number 启动小程序的场景值,“位置消息”的启动场景值为1146
locationInfo Object 特殊场景的启动信息

locationInfo 的结构

属性 类型 描述
latitude number 纬度,范围为 -90~90,负数表示南纬
longtitude number 经度,范围为 -180~180,负数表示西经
name string POI名称

3. 工具调试

Nightly v1.02.1912062 版本已支持条件编译增加位置消息入口。选择场景值 1146: 位置消息中用小程序打车,传入POI点名称和经纬度信息后可用真机预览调试。


微信小程序 消息·客服消息
微信小程序 卡券
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

微信小程序 指南

目录结构

开放能力

微信小程序 调试

微信小程序 实时日志

微信小程序 小程序测速

微信小程序 基础组件

微信小程序 API

媒体

界面

微信小程序API 绘图

微信小程序 服务端

接口调用凭证

统一服务消息

微信小程序 服务市场

微信小程序 生物认证

微信小程序 云开发

服务端

微信小程序云开发服务端API 数据库

SDK文档

微信小程序 扩展能力

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }