Skip to content

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 ​

NameTypeDescription
LocationFunction定位实例化
ConfigObject配置默认参数
GetSystemFunction获取系统信息(只包含ios、android)与系统版本
GetParams(name)Function获取url参数
RandomUserId()Function随机一个字符串
versionString当前定位版本

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 ​

NameTypeDefaultDescription
userIdStringnull在微信小程序环境时 必填
buildingIDStringnull地图建筑ID
tokenStringnull地图有效token
wechatModeStringhash定位模式 (hash | http)
coordTypeStringGCJO2当开启GPS定位时有效 (GCJ02 | BD09 | WGS84)
routeSnapStringfalse是否开启地图路网吸附(室外无效)
minRssiString-88限制beacon信号最小值
maxRssiString-15限制beacon信号最大值
initAngleNumber0校正指南针偏差
floorDelayms2000定位楼层切换延迟 (毫秒级)
compassDelayms200指南针回调频率 (毫秒级)
GPSBooleanfalse开启H5 GPS定位 (根据coordType设置返回对应坐标系)
debugBooleanfalse定位调试(统计定位数据到云端、用于定位分析优化)
collectBooleanfalse定位信息采集

4.3 Instance Members ​

NameDescription
beaconAnalysis(beacons)分析扫描的beacons
setPriorityFloor(floor)定位时,设置优先楼层计算定位(设置一次3秒后自动置空)
getBeaconRealFloor()获取实时beacon定位楼层
reset()清除定位缓存,重新计算定位。
on(type, function)监听
once(type, function)只监听一次
off(type, function)移除监听

4.4 Events ​

NameDescription
ready准备完毕
location实时定位点
beacons分析后的有效beacons