Appearance
微信小程序集成API
1、小程序开发设置
1.1 服务器域名
request合法域名:
https://a.brtmap.com;
https://files.brtmap.com;
https://map-sdk.brtmap.com;
https://wx-lts-push.brtmap.com;
2、下载小程序端 - JS-SDK
下载 brtloc.miniprogram.js 下载到本地后放到您自己小程序项目里面
.
3、开始使用
定位方式:
// 服务器中转模式
1. http: 小程序端扫描ibeacon信息 ----> 服务器(中转) ----> H5定位
// 哈希无刷新模式
2. hash: 小程序端扫描ibeacon信息 ----> url hash无刷新 ----> H5定位
3.1 引入SDK
javascript
// 引入sdk
const brtloc = require('/brtloc.miniprogram.js');
3.2 创建实例
javascript
// 用户唯一定位ID (建议使用openId)
let userId = brtloc.RandomUserId();
// 您的建筑ID
let buildingID = '';
// 建筑token
let token = '';
// 实例
let $locate = new brtloc.Location({
userId,
wechatMode: "hash",
buildingID,
token
});
3.3 ibeacon扫描
javascript
// ready
$locate.on('ready', () => {
// 开启内置ibeacon扫描功能
$locate.openBeaconScanning(res => {
console.log('beacons', res.beacons);
});
// 小程序原生集成方式
/*// 监听扫描ibeacon
wx.onBeaconUpdate(res => {
// 分析beacons, 计算定位点
$locate.beaconAnalysis(res.beacons);
});
//开启 ibeacon扫描
wx.startBeaconDiscovery({
uuids: $locate.uuids, // $locate.uuids 是智石默认的uuids 请及时修改。
success: res => {}
});*/
});
3.4 监听定位点
javascript
// 计算后的定位点
$locate.on('location', point => {
console.log('point', point);
});
3.5 完整示例
.wxml
javascript
<web-view src="{{url}}{{beaconsHashString}}"></web-view>
.js
javascript
//index.js
//获取应用实例
const app = getApp();
// 引入sdk
const brtloc = require('/brtloc.miniprogram.js');
// 您的建筑ID
const buildingID = '';
// 有效token
const token = '';
// 用户唯一定位ID (建议使用openId)
let userId = brtloc.RandomUserId();
Page({
data: {
// H5项目地址
url: '//127.0.0.1:8080/demo.html',
// 利用hash变化 无刷新传给H5的beacons字符串
beaconsHashString: ''
},
onLoad: function () {
// 实例
let $locate = new brtloc.Location({
userId,
wechatType: "hash",
buildingID,
token
});
// ready
$locate.on('ready', () => {
// 开启内置ibeacon扫描功能
$locate.openBeaconScanning(res => {
console.log('beacons', res.beacons);
});
});
// 监听 扫描 分析后有效的beacons
$locate.on('beacons', beacons => {
this.setData({
beaconsHashString: '#' + beacons.toHashString()
});
});
}
})
4、API
4.1 brtloc
Name | Type | Description |
---|---|---|
Location | Function | 定位实例化 |
RandomUserId | Function | 分配的随机userId |
Location
javascript
new brtloc.Loaction(options:object);
RandomUserId
javascript
// 随机一个字符串
brtloc.RandomUserId();
4.2 Parameters -> Options
Name | Type | Default | Description |
---|---|---|---|
userId | String | null | 用户唯一标识ID (当与H5集成时必填) |
buildingID | String | null | 地图建筑ID |
token | String | null | 地图有效token |
wechatMode | String | hash | 定位模式 (hash |
uuids | Array | [] | iBeacon的uuid |
minRssi | Number | -88 | 限制beacon信号最小值 |
maxRssi | Number | -15 | 限制beacon信号最大值 |
maxCount | Number | 12 | 最大有效beacon数 |
floorDelay | Number | 2000 | 楼层切换延迟 (毫秒) |
statistics | Boolean | true | 大数据统计 |
debug | Boolean | false | 调式 日志打印 |
4.3 Instance Members
Name | Description |
---|---|
beaconAnalysis(beacons) | 分析扫描的beacons |
openBeaconScanning() | 开启内置ibeacon扫描功能 |
rebootBeaconScanning() | 重启内置ibeacon扫描功能 |
reset() | 重置 |
destroy() | 销毁 |
on(type, function) | 监听 |
once(type, function) | 只监听一次 |
off(type, function) | 移除监听 |
4.4 Events
Name | Description |
---|---|
ready | 准备完毕 |
location | 实时定位点 |
beacons | 分析后的有效beacons |