Appearance
H5集成API
1、开始使用
说明:支持微信小程序端、支付宝小程序端定位集成开发。
1.1 引入SDK
javascript
// 引入sdk
<script src="//brtmap.com/js-sdk/geo/brtloc-3.3.5.js"></script>
1.2 创建实例
javascript
// 您的建筑ID
let buildingID = '';
// 建筑token
let token = '';
// 实例
let $locate = new brtloc.Location({
// 定位模式(hash无刷新定位)
wechatMode: "hash",
//
buildingID: buildingID,
//
token: token
});
1.3 监听定位点
javascript
// 监听定位点
$locate.on('location', point => {
console.log('location', point);
});
1.4 监听指南针罗盘
javascript
// 罗盘(返回指南针方向)
$locate.on('compass', angle => {
console.log('compass', angle);
});
2、完整示例
2.1 基于微信小程序示例:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title> 基于微信小程序 </title>
<script src="//brtmap.com/js-sdk/geo/brtloc-3.3.5.js"></script>
</head>
<body>
</body>
<!--hash变化无刷新定位-->
<script>
// 获取用户唯一定位ID
let userId = brtloc.GetParams('userId');
let buildingID = '填写建筑ID';
let token = '填写有效token';
// 实例
let $locate = new brtloc.Location({
userId: userId,
wechatMode: "hash",
buildingID: buildingID,
token: token
});
// 监听定位点
$locate.on('location', point => {
console.log('location', point);
});
// 指南针
$locate.on('compass', angle => {
console.log('compass', angle);
});
</script>
<!--http 服务端走服务端定位方式-->
<--<script>
// 获取用户唯一定位ID
let userId = brtloc.GetParams('userId');
let buildingID = '填写建筑ID';
let token = '填写有效token';
// 实例
let $locate = new brtloc.Location({
userId: userId,
wechatMode: "http",
buildingID: buildingID,
token: token
});
// 监听定位点
$locate.on('location', point => {
console.log('location', point);
});
// 指南针
$locate.on('compass', angle => {
console.log('compass', angle);
});
</script>-->
</html>
2.2 基于支付宝小程序示例:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title> 基于支付宝小程序 </title>
<script src="//brtmap.com/js-sdk/geo/brtloc-3.3.5.js"></script>
<script>
// 获取终端信息
let system = brtloc.GetSystem();
// 加载支付宝小程序内嵌的js
if (system.env === 'alipay') {
document.writeln('<script src="//appx/web-view.min.js"' + '>' + '<' + '/' + 'script>');
}
</script>
</head>
<body>
</body>
<script>
let buildingID = '填写建筑ID';
let token = '填写有效token';
let $locate = new brtloc.Location({
buildingID: buildingID,
token: token
});
// 监听定位点
$locate.on('location', point => {
console.log('location', point);
});
// 指南针
$locate.on('compass', angle => {
console.log('compass', angle);
});
</script>
</html>
2.3 基于原生开发APP示例:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title> 基于原生开发APP </title>
<script src="//brtmap.com/js-sdk/geo/brtloc-3.3.5.js"></script>
</head>
<body>
</body>
<script>
let buildingID = '填写建筑ID';
let token = '填写有效token';
let $locate = new brtloc.Location({
buildingID: buildingID,
token: token
});
// 监听定位点
$locate.on('location', point => {
console.log('location', point);
});
// 指南针
$locate.on('compass', angle => {
console.log('compass', angle);
});
</script>
</html>
3、API
3.1 brtloc
Name | Type | Description |
---|---|---|
Location | Function | 定位实例化 |
Config | Object | 配置默认参数 |
GetSystem | Function | 获取系统信息(只包含ios、android)与系统版本 |
GetParams(name) | Function | 获取url参数 |
RandomUserId() | Function | 随机一个字符串 |
version | String | 当前定位版本 |
Location
javascript
new brtloc.Loaction(options:object);
Config
javascript
// beacons点位服务
brtloc.Config.tile;
GetSystem
javascript
// 获取系统信息
let system = brtloc.GetSystem();
console.log('system', system); // {platform, version, brand, env}
GetParams
javascript
// 获取URL地址的参数
let name = brtloc.GetParams('name');
RandomUserId
javascript
// 随机一个字符串用于userId
let userId = brtloc.RandomUserId();
3.2 Parameters -> Options
Name | Type | Default | Description |
---|---|---|---|
userId | String | null | 在微信小程序环境时 必填 |
buildingID | String | null | 地图建筑ID |
token | String | null | 地图有效token |
wechatMode | String | hash | 定位模式 (hash | http) |
coordType | String | GCJO2 | 当开启GPS定位时有效 (GCJ02 | BD09 | WGS84) |
routeSnap | String | false | 是否开启地图路网吸附(室外无效) |
minRssi | String | -88 | 限制beacon信号最小值 |
maxRssi | String | -15 | 限制beacon信号最大值 |
initAngle | Number | 0 | 校正指南针偏差 |
floorDelay | ms | 2000 | 定位楼层切换延迟 (毫秒级) |
compassDelay | ms | 200 | 指南针回调频率 (毫秒级) |
GPS | Boolean | false | 开启H5 GPS定位 (根据coordType设置返回对应坐标系) |
debug | Boolean | false | 定位调试(统计定位数据到云端、用于定位分析优化) |
collect | Boolean | false | 定位信息采集 |
4.3 Instance Members
Name | Description |
---|---|
beaconAnalysis(beacons) | 分析扫描的beacons |
setPriorityFloor(floor) | 定位时,设置优先楼层计算定位(设置一次3秒后自动置空) |
getBeaconRealFloor() | 获取实时beacon定位楼层 |
reset() | 清除定位缓存,重新计算定位。 |
on(type, function) | 监听 |
once(type, function) | 只监听一次 |
off(type, function) | 移除监听 |
4.4 Events
Name | Description |
---|---|
ready | 准备完毕 |
location | 实时定位点 |
beacons | 分析后的有效beacons |